Mai 9th, 2006
Shell Kniffe
Vielleicht kennen Sie das, sie möchten eine große Anzahl hängengebliebener Prozesse killen, die sich jedoch nicht eindeutig über den Prozessnamen identifizieren lassen. Das ist nützlich z.B. bei Java oder Shell Prozessen. Hier müssen wir die Ausgabe von ‘ps’ geschickt nach dem gewünschten Suchwort greppen, per akw die Prozess-ID’s filtern um damit dann zb per xargs den kill Befehl aufzurufen:
ps x | grep shellscript.sh | awk ‘{print(substr($1,0,5))}’ | xargs kill -9
… ein ‘killall -9 shellscript.sh’ funktioniert in so einem Fall offensichtlich nicht.
on Juli 13th, 2006 at 4:40 pm
$ps -C shellscript.sh -o pid –no-heading | xargs kill -9
on Juli 24th, 2006 at 10:02 pm
In diesem einfachen Fall genügt ein ‘killall prozessname’. Das Shellscript Beispiel soll nur demonstrieren, wie nach Teilen im Prozessnamen gefiltert werden kann, so wie das bei Java- oder anderen Prozessen der Fall ist, die sich z.B. nur im Argument unterscheiden.
on Januar 25th, 2007 at 11:21 pm
Für Leute, die wie ich keine großen awk Experten sind und auch nicht werden wollen, bietet sich das Tool cut an. Den awk Teil von oben einfach durch cut -d\ -f2 ersetzen. Wichtig ist, dass nach dem \ zwei Leerzeichen kommen. Alternativ kann auch -d” ” benutzt werden.