Beenden von Prozessen mit kill

Der kill Befehl wird verwendet, um einen Prozess zu beenden. Wenn ein Programm nicht mehr reagiert, könnte man gezwungen werden, ihn mit diesem Befehl zu beenden. Der Befehl kill sendet Signale an laufende Prozesse (gekennzeichnet durch ihre PID), um die Beendigung des Prozesses zu beantragen. Signale können einen Prozess nicht nur beenden, sondern von ihm auch fordern, Konfigurationsdateien erneut zu lesen, zu pausieren, fortzusetzen usw.

Signale werden von verschiedenen Zahlen dargestellt. Wenn Sie das Signal nicht angeben, beträgt der Standardwert 15, was den Prozess beendet, jedoch um offene Dateien zu schließen.

Hier ist eine Liste der Signale und deren Beschreibung, die Sie am häufigsten nutzen werden:

Signal Nummer Bedeutung
SIGHUP 1 Blockierung des Kontrollterminals oder Ende des Kontrollprozesses
SIGKILL 9 unblockbares Beenden
SIGTERM 15 Beendigungsanfrage
SIGSTOP 17,19,23 halte Prozess an, unblockierbar
SIGCONT 18,19,25 fahre angehaltenen Prozess fort

 

Nehmen wir zum Beispiel an, dass wir ein Programm namens dd haben, das überwiegend die CPU-Zeit benutzt und das wir nicht stoppen können. Um es mit dem Befehl kill zu beenden, müssen wir zuerst die PID des Prozesses herausfinden. Das können wir mit Hilfe des top Befehls machen:

linux top pid

Der Befehl top zeigt die PID des Prozesses (13203) an. Um den Prozess zu beenden, benutzen wir den Befehl kill. Wir werden ein Signal SIGKILL benutzen, das den Prozess beendet, ohne Tasks der Routineabschaltung  zu verwenden:

linux kill 9

Geek University 2022