Der Befehl killall sendet ein beliebiges angegebenes Signal oder das standardmäßige Beendigungssignal an alle Prozesse, die mit dem angegebenen Namen übereinstimmen. Ähnlich wie pkill, hat aber einige funktionale Unterschiede, wie z. B. die exakte Übereinstimmung von Prozessnamen. Hier ist die Syntax:
# killall [-u user] [-signal] name...
Um dies zu demonstrieren, starten wir einige Instanzen des Schlafprogramms und beenden sie dann.
$ sleep 500 & [1] 18801 $ sleep 600 & [2] 18802
$ killall sleep [1]- Terminated sleep [2]+ Terminated sleep
Denken Sie daran, wie beim Töten; Sie müssen über Superuser-Rechte verfügen, um Signale an Prozesse zu senden, die Ihnen nicht gehören.
Wenn beim Ausführen des killall-Befehls der folgende Fehler auftritt:
killall: command not found
Sie können das folgende Paket gemäß Ihrer Wahl der Distribution installieren:
Betriebssystemverteilung | Befehl |
---|---|
Debian | apt-get install psmisc |
Ubuntu | apt-get install psmisc |
Alpin | apk fügt psmisc hinzu |
Arch Linux | pacman -S psmisc |
Kali-Linux | apt-get install psmisc |
CentOS | yum installiere psmisc |
Fedora | dnf installiere psmisc |
Raspbian | apt-get install psmisc |
killall-Befehlsbeispiele
1. Um alle angegebenen Befehle zu beenden:
# killall
2. Um alle bekannten Signale aufzulisten:
# killall -l # killall --list
3. Nicht beschweren, wenn keine Prozesse beendet wurden:
# killall -q # killall --quiet
4. Um das angegebene Signal anstelle von SIGTERM zu senden:
# killall -s 9 bash # killall --signal 9 bash
5. So beenden Sie Prozesse, die einem bestimmten Benutzer gehören:
# killall -u mike
6. So stellen Sie den ausführlichen Modus ein:
# killall -v # killall --verbose
7. So zeigen Sie die Version an:
# killall -V # killall --version
8. So spezifizieren Sie, dass gewartet werden soll, bis alle beendeten Prozesse sterben:
# killall -w # killall --wait
9. So beenden Sie Prozesse mit einem bestimmten Sicherheitskontext:
# killall -Z # killall --context
10. Vor Beendigung interaktiv nach Bestätigung fragen:
# killall -i process_name
11. Beenden Sie einen Prozess mit dem Signal SIGINT (Interrupt), das dasselbe Signal ist, das durch Drücken von `Strg + C` gesendet wird:
# killall -INT process_name
12. Beenden eines Prozesses erzwingen:
# killall -KILL process_name
Schlussfolgerung
Befehle, die häufig in Verbindung mit ps verwendet werden, sind kill und killall. Beim Ausführen von ps haben wir gesehen, dass es eine Spalte gibt, die PID anzeigt, kurz für Prozess-ID. Wenn ein Prozess nicht richtig läuft, hängen bleibt oder wir ihn einfach beenden wollen, ist eine Möglichkeit der Einsatz des Befehls kill. Übergeben Sie ihm einfach die PID, zum Beispiel bei einer PID von 123:
# kill 123
Wenn Sie den Prozess anhand des Namens anstelle der PID abgleichen möchten, können Sie beispielsweise killall verwenden, wenn Firefox eingefroren war und wir das Beenden erzwingen wollten:
# killall firefox