Übersicht
killall5 sendet ein Signal an alle laufenden Prozesse des Systems, mit Ausnahme des init-Prozesses. Dieser Befehl wird hauptsächlich beim Ändern des Runlevels oder beim Herunterfahren des Systems verwendet. Da es sich um einen sehr mächtigen Befehl handelt, kann er schwerwiegende Auswirkungen auf das System haben, und er sollte mit Bedacht eingesetzt werden.
Hauptmerkmale
- Sendet ein Signal an alle Prozesse außer dem init-Prozess
- Wird hauptsächlich zum Herunterfahren, Neustarten und Ändern des Runlevels verwendet
- Sehr mächtig und kann kritische Auswirkungen auf das System haben
Hauptoptionen
killall5 hat relativ wenige Optionen.
Signal angeben
Prozesse ausschließen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`killall5` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Verschiedene Anwendungsbeispiele für den Befehl killall5. Dieser Befehl ist sehr mächtig und sollte bei der tatsächlichen Verwendung mit Vorsicht eingesetzt werden.
SIGTERM-Signal an alle Prozesse senden (Standardverhalten)
sudo killall5
Sendet das SIGTERM (15)-Signal, um alle Prozesse außer dem init-Prozess zum Beenden aufzufordern. Dies kann verwendet werden, um ein ordnungsgemäßes Herunterfahren des Systems zu initiieren.
Alle Prozesse zwangsweise beenden (SIGKILL)
sudo killall5 -9
Sendet das SIGKILL (9)-Signal, um alle Prozesse außer dem init-Prozess zwangsweise zu beenden. Dies ist die letzte Option, wenn Prozesse nicht auf SIGTERM reagieren. Es besteht die Gefahr von Datenverlust.
Versuch, alle Prozesse zu beenden, mit Ausnahme einer bestimmten PID
sudo killall5 -o 1234
Sendet das SIGTERM-Signal an alle Prozesse außer dem Prozess mit der PID 1234. Dies kann nützlich sein, wenn Sie alle anderen Prozesse beenden möchten, während ein bestimmter wichtiger Prozess erhalten bleibt.
SIGHUP-Signal an alle Prozesse senden
sudo killall5 -1
Sendet das SIGHUP (1)-Signal an alle Prozesse außer dem init-Prozess. Einige Daemons laden ihre Konfiguration neu, wenn sie SIGHUP empfangen.
Installation
killall5 ist normalerweise Teil des Pakets `sysvinit-utils` oder `sysvinit-tools`. Es ist auf den meisten Linux-Distributionen standardmäßig installiert, aber wenn es fehlt, können Sie es mit den folgenden Befehlen installieren.
Debian/Ubuntu-basierte Systeme
sudo apt update && sudo apt install sysvinit-utils
CentOS/RHEL/Fedora-basierte Systeme
sudo yum install sysvinit-tools
# oder bei neueren Versionen
sudo dnf install sysvinit-tools
Tipps & Vorsichtsmaßnahmen
killall5 ist ein mächtiger Befehl, der das gesamte System beeinflusst, daher ist äußerste Vorsicht geboten.
Sehr gefährlicher Befehl
Dieser Befehl kann alle Benutzerprozesse des Systems beenden und bei falscher Anwendung das System instabil machen oder zum Absturz bringen. Vermeiden Sie die Verwendung auf Servern, auf denen wichtige Arbeiten ausgeführt werden.
- **Risiko von Datenverlust**: Ungespeicherte Daten können bei erzwungenem Beenden verloren gehen.
- **Systeminstabilität**: Das System kann abstürzen, wenn wichtige Dienste beendet werden.
Alternative Befehle in Betracht ziehen
Wenn Sie nur bestimmte Prozessgruppen oder Benutzerprozesse beenden müssen, ist es ratsam, Befehle mit feinerer Steuerung wie `killall` oder `pkill` zu verwenden.
- `killall <process_name>`: Beendet alle Prozesse mit einem bestimmten Namen
- `pkill <pattern>`: Beendet Prozesse, die einem Muster entsprechen
- `kill <pid>`: Beendet einen Prozess mit einer bestimmten PID
init-Prozess ausschließen
killall5 sendet kein Signal an den init- (oder systemd-) Prozess mit PID 1. Dies dient dem Schutz kritischer Systemprozesse.
sudo-Verwendung erforderlich
Um ein Signal an alle Prozesse des Systems zu senden, sind Root-Rechte erforderlich. Verwenden Sie daher den Befehl mit `sudo`.