Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
kill sendet Signale an einen Prozess über seine Prozess-ID (PID). Es wird oft benutzt, um außer Kontrolle geratene (aufgehängte) Prozesse zu beenden. Das Standardsignal ist -SIGTERM (15) zum beenden/terminieren eines Prozesses, es können aber auch andere Signale gesendet werden. Meist ist es jedoch bequemer Programme über ihren Namen anzusprechen, dies ist mit pkill oder killall möglich.
Den Befehl kill gibt es als eingebauten Befehl der Shell, z.B. Bash oder Dash, und als eigenständig ausführbares Programm. Beide sind in einer Ubuntu-Installation bereits installiert.
Das Programm kill befindet sich im Paket:
procps
Der Shell-Befehl und das Programm besitzen eine etwas unterschiedliche Syntax und Funktionalität, siehe dazu help kill[1], man kill sowie info kill[1].
Die grundlegende Bedienung ist jedoch immer gleich:
kill -SIGNAL PID
Es wird ein Signal an den Prozess mit der angegebenen Prozessnummer (PID) gesendet. Das Signal kann dabei in drei Formen angegeben werden: Numerisch, alphabetisch oder als voller Name (z.B. -15, -TERM, -SIGTERM), dabei ist zu beachten, dass der Alphawert immer in Grossbuchstaben geschrieben wird. Negative Prozess IDs (PIDs) können dazu verwendet werden, ganze Prozessgruppen auszuwählen. Eine PID von -1 ist von besonderer Bedeutung, sie entspricht allen Prozessen außer init (PID 1) und dem kill-Prozess selbst.
Allein die Bash unterstützt über 60 verschiedene Signale, darum sind die wichtigsten in einem eigenen Artikel beschrieben. Im Terminal kann man sich aber mit
kill -l
eine Kurzübersicht der Signale in Form einer kleinen Tabelle anzeigen lassen.
Mit
kill -l 11
wird die Signalnummer 11 in den entsprechenden Signalnamen und mit
kill -l HUP
wird der Signalname HUP in seine Signalnummer übersetzt.
Dem Prozess 4711 ein Signal -STOP zum pausieren senden:
kill -SIGSTOP 4711
und anschließend den angehaltenen Prozess 4711 mit -CONT weiterlaufen lassen:
kill -SIGCONT 4711
Den Prozessen 123, 4567, 89 und 18999 das Standardsignal -SIGTERM senden:
kill 123 4567 89 18999
Dem normalen Beenden von Prozessen mit -SIGTERM (15) ist immer der Vorzug zu geben, weil dadurch dem Programm noch die Möglichkeit gegeben wird sich "anständig" zu beenden. Erst wenn ein -SIGTERM (15) nicht angenommen wird kann man den Kernel mit einem -SIGKILL (9) beauftragen den Prozess zu debuggen (Dump) und hart abzubrechen. Die empfangenden Programme können ein -SIGKILL (9) ebenso wie ein -SIGSTOP (19) nicht abfangen um programmspezifische Aktionen durchzuführen.
Alle Prozesse die dem Benutzer erlaubt sind, mit -SIGTERM beenden:
kill -15 -1
Alle Prozesse die dem Benutzer erlaubt sind, mit -SIGKILL abbrechen:
kill -9 -1
intern:
pkill - Beenden von Prozessen anhand des spezifizierten Namens/ regulären Ausdrucks
killall - Beenden von Prozessen anhand des spezifizierten Namens
Shell - Einige grundlegende Hinweise zur Verwendung der Shell.
Befehlsübersicht - generelle Befehlsübersicht, u.a. mit weiteren Befehlen für die Systemüberwachung und Prozesssteuerung.
Prozesssteuerung - im Allgemeinen
ps - Auflistung aller gerade laufenden Prozesse
extern:
Manpages
auf ubuntu.com
Diese Revision wurde am 29. Dezember 2011 um 21:18 Uhr
von noisefloor erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
PID, prozesse, Shell, System
2004 – 2011 ubuntuusers.de • Einige Rechte vorbehalten