hi12456
Goto Top

Kill-Befehl für mehrere Prozesse gleichzeitig

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.

Content-Key: 137793

Url: https://administrator.de/contentid/137793

Ausgedruckt am: 19.03.2024 um 05:03 Uhr

Mitglied: it-frosch
it-frosch 09.03.2010 um 15:04:05 Uhr
Goto Top
Hallo hi12456,

killall prozessname z.B. alle midnightcommander killall mc.
Mitglied: hi12456
hi12456 09.03.2010 um 15:08:20 Uhr
Goto Top
Danke!

Ich habe gelesen, dass der Befehl killall speziell unter Solaris das Betriebssystem herunterfährt, deswegen habe ich ihn nicht getestet. Bist Du sicher?

Viele Grüße,

HI.
Mitglied: 45877
45877 09.03.2010 um 15:18:13 Uhr
Goto Top
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%29
Mitglied: 52569
52569 09.03.2010 um 15:21:23 Uhr
Goto Top
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
Mitglied: hi12456
hi12456 09.03.2010 um 15:25:23 Uhr
Goto Top
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.
Mitglied: hi12456
hi12456 09.03.2010 um 15:41:58 Uhr
Goto Top
Danke, Mark, der Hinweis ist der richtige.
Mitglied: mrtux
mrtux 09.03.2010 um 15:47:48 Uhr
Goto Top
Hi !

man killall

fährt das System jedenfalls nicht herunter! face-wink

mrtux
Mitglied: 45877
45877 09.03.2010 um 15:47:56 Uhr
Goto Top
Hallo,
das bedeutet, dass beim herunterfahren killall vom System aufgerufen wird.
Das System fährt NICHT automatisc herunter wenn du killall aufrufst.
Ansonsten einfach mal killall --help aufrufen.