kill

Aus Tuxfutter

Wechseln zu: Navigation, Suche

Mit dem Befehl kill werden bei Linux und Unix Prozessen Signale gesendet.

Diese Signale können unterschiedliche Reaktionen bei Prozessen auslösen. Am bekanntesten sind die Signale TERM (15), KILL (9) und HUP (1). Daneben gibt es aber auch weitere Signale, die je nach Programm verwendet werden. Diese sind aber dann in der Dokumentation aufgeführt.

Die wichtigsten Signale bedeuten:

1HUPWird meistens bei Diensten eingesetzt, damit diese ihre Konfigurationsdatei erneut einlesen
9KILLDer Prozess wird umgehend beendet und hat keine Zeit, noch irgendetwas zu erledigen
15TERMBeendet ein Programm. Dies bekommt Zeit, Dateien zu schliessen

Übrigens ist init resistent gegen das KILL Signal!

Um einem Prozess ein Signal zu senden, wird der Signalnummer oder -bezeichnung ein Minus vorangestellt und danch die Prozessnummer(n) angegeben:

kill -9 1234

oder

kill -HUP 5432

Die Prozess-ID gewinnt man über den Befehl ps, oder über pgrep.

Alternativ gibt es noch den Befehl killall, der die Namen der Prozesse verwendet, aber Achtung: Auch wenn es diesen Befehl bei Unix gibt, hat er dort eine andere Bedeutung und beendet alle(!) laufenden Prozesse; das System wird also - mehr oder weniger - runtergefahren!

Mit Hilfe von pgrep kann man zum Beispiel in bash folgendermassen alle Prozesse beenden, die die Zeichenkette "kde" beinhalten:

for i in `pgrep kde` ; do kill -TERM $i ; done
'Persönliche Werkzeuge