Ich habe mehrere Instanzen eines Prozesses (d.h. mit einer gemeinsamen Befehlszeile). Ich möchte sie alle auf einmal beenden. Wie kann ich das erreichen?
Antworten
Zu viele Anzeigen?Optionen:
- killall
- ps|awk|xargs kill
- Tag-und-Tötung in htop
Killall ist super leistungsstark, aber ich finde es gefährlich, es unkontrolliert zu verwenden. Option 2 ist umständlich zu verwenden, aber oft befinde ich mich in Umgebungen, in denen killall nicht verfügbar ist; außerdem ermöglicht es mir, den xargs-Befehl beim ersten Durchlauf auszulassen, um die verurteilten Prozesse erneut zu überprüfen, bevor ich das Messer schwingen lasse. Letztendlich bevorzuge ich meistens htop, da es mir ermöglicht, vor dem großen "k" eine Auswahl zu treffen.
Du suchst wahrscheinlich nach dem killall
Befehl. Zum Beispiel:
killall perl
Würde alle laufenden perl Prozesse auf deinem Rechner beenden. Siehe http://linux.die.net/man/1/killall für mehr Details.
HINWEIS: killall ist die Antwort... WENN Sie auf Linux sind. SysV hat auch ein killall-Befehl, aber es macht etwas ganz anderes: Es ist Teil des Prozesses zum Herunterfahren von Prozessen vor dem Systemhalt. Also, ja, killall ist am einfachsten, aber wenn Sie oft zwischen Linux- und SysV-Systemen pendeln, könnte ich empfehlen, stattdessen ein schnelles Skript zu schreiben, das das gewünschte tut.