Skocz do zawartości

Wyświetlenie Procesów Wg Określonej Maski


morg

Rekomendowane odpowiedzi

Witam

 

Definiuje zmienna $znak w zależności od serwera na którym pracuje:

 

export znak=-

 

if

[[ $serwer = "HP-UX" ]] ; then

export znak=?

fi

 

Funkcja która szuka procesów odłączonych od terminala:

 

 

UsunOdlaczoneOdTerminala6()

{

ProcesyOdlaczone6=`ps -ef |grep $LOGNAME | awk '$6 == "$znak" {print $2}'`

for Proces in $ProcesyOdlaczone6

do

kill -9 $Proces

done

}

 

 

Chciałem uprościć działanie ale w tym przypadku nie działa zmienna $znak. Jest jakiś sposób by można było "$znak" zmusić do współpracy, czy też taka składnia wyklucza użycie zmiennej na rzecz konkretnie "-" "?" ?

 

 

Można by zrobić to również w taki sposób:

 

case `uname` in

 

HP-UX)

ProcesyOdlaczone6=`ps -ef |grep $LOGNAME | awk '$6 == "?" {print $2}'`

ProcesyOdlaczone7=`ps -ef |grep $LOGNAME | awk '$7 == "?" {print $2}'`

;;

*) ProcesyOdlaczone6=`ps -ef |grep $LOGNAME | awk '$6 == "-" {print $2}'`

;;

esac

 

UsunOdlaczoneOdTerminala()

{

for Proces6 in `echo $ProcesyOdlaczone6` ; do

for Proces7 in `echo $ProcesyOdlaczone7` ; do

 

kill -9 $Proces6

kill -9 $Proces7

 

done

done

}

 

 

Dla linii:

 

for Proces7 in `echo $ProcesyOdlaczone7` ; do

 

Dlaczego, bez `echo ..` - nie kilował procesów ?

 

M.

Odnośnik do komentarza
Udostępnij na innych stronach

jak chcesz wydrukowac zmienna w awk skoro przekazujesz zmienna odpowiedzialna za kolejny parametr wywolania sktyptu basha ? (print $2 bedzie chcialo wydrukowac drugi argument wywolania skryptu -> null)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...