Frage ist gelöstKill-Befehl für mehrere Prozesse gleichzeitig
09.03.2010
14:39:43 Uhr3540 Aufrufe
8 Antworten
14:39:43 Uhr
8 Antworten
Noch nicht bewertet
Hallo!
ich lasse mir mit dem Befehl ps -ef | grep Verzeichnisname anzeigen, welche Prozesse aus einem bestimmten Verzeichnis noch aktiv sind. Dort dürften nur ca. 4 Einträge stehen, aber im Moment sind es ca. 150, weil ein Prozess wohl nicht richtig gestoppt werden konnte. Es ist immer das gleiche Programm, aber mit unterschiedlichen Prozess-IDs.
Die Prozesse können mit kill Prozessnummer gelöscht werden - nur - muss ich jetzt 150 Prozessnr. eingeben, oder gibt es einen Befehl, mit dem alle Prozesse mit dem gleichen Namen beendet werden?
Viele Grüße.
ich lasse mir mit dem Befehl ps -ef | grep Verzeichnisname anzeigen, welche Prozesse aus einem bestimmten Verzeichnis noch aktiv sind. Dort dürften nur ca. 4 Einträge stehen, aber im Moment sind es ca. 150, weil ein Prozess wohl nicht richtig gestoppt werden konnte. Es ist immer das gleiche Programm, aber mit unterschiedlichen Prozess-IDs.
Die Prozesse können mit kill Prozessnummer gelöscht werden - nur - muss ich jetzt 150 Prozessnr. eingeben, oder gibt es einen Befehl, mit dem alle Prozesse mit dem gleichen Namen beendet werden?
Viele Grüße.
Einige Unix-Derivate, unter anderem Solaris, rufen das Unix-Kommando killall automatisch auf, wenn das System runterfährt. Es verhält sich wie kill, nur wird ein Signal nicht nur zu einem einzigen Prozess geschickt, sondern zu allen Prozessen auf dem System.
http://de.wikipedia.org/wiki/Kill_%28Unix ...
http://de.wikipedia.org/wiki/Kill_%28Unix ...
Hallo,
ps -ef | grep Verzeichnisname | awk '{ print $2 }' | xargs $1 kill -9 $1
awk schneidet die 2. Spalte des ps-Kommando aus
xargs liest die Standard-Eingabe, erstellt daraus eine durch Leerzeichen getrennte Dateiliste und führt damit einen Befehl aus
kill beendet dann die Prozesse über diese PID
Zum testen vorher nur mit
ps -ef | grep Verzeichnisname | awk '{ print $2 }'
probieren und erst dann mit dem kill-Befehl.
Mark
ps -ef | grep Verzeichnisname | awk '{ print $2 }' | xargs $1 kill -9 $1
awk schneidet die 2. Spalte des ps-Kommando aus
xargs liest die Standard-Eingabe, erstellt daraus eine durch Leerzeichen getrennte Dateiliste und führt damit einen Befehl aus
kill beendet dann die Prozesse über diese PID
Zum testen vorher nur mit
ps -ef | grep Verzeichnisname | awk '{ print $2 }'
probieren und erst dann mit dem kill-Befehl.
Mark
hi12456 schreibt am 09.03.2010 um 15:25:23 Uhr
Danke!
In dem Wikipedia- Artikel habe ich es gelesen.
Bedeutet dies jetzt nur, dass Solaris zwecks Herunterfahren killall aufruft, oder
bedeutet dies, dass wenn ich jetzt killall pfad_zum_skript oder killall prozessname
aufrufe, plötzlich Solaris heruntergefahren wird? Denn herunterfahren möchte ich im Moment nicht.
In dem Wikipedia- Artikel habe ich es gelesen.
Bedeutet dies jetzt nur, dass Solaris zwecks Herunterfahren killall aufruft, oder
bedeutet dies, dass wenn ich jetzt killall pfad_zum_skript oder killall prozessname
aufrufe, plötzlich Solaris heruntergefahren wird? Denn herunterfahren möchte ich im Moment nicht.





45877schreibt am 09.03.2010 um 15:18:13 Uhr52569schreibt am 09.03.2010 um 15:21:23 Uhr45877schreibt am 09.03.2010 um 15:47:56 Uhr