kill
Funktion
kill beendet einen Prozeß
Syntax
kill [-s Signal] [-p]
[-a] [-l [Signalnummer]] Prozeß
...
Beschreibung
kill wird benutzt, um außer Kontrolle geratene
(,,aufgehängte``) Prozesse, die sich nicht mehr auf normale Art
beenden lassen, zu terminieren (beenden) oder um Signale an bestimmte
Prozesse zu senden.
Das Signal kann mit seinem Namen oder mit der Singalnummer
angegeben werden. Wenn kein Signal spezifiziert ist, wird SIGTERM
(15) gesendet.
Ein Prozeß kann durch seine Prozeßnummer oder durch
seinen Namen bezeichnet werden.
Signale können ohne Rootprivilegien nur an die eigenen Prozesse
gesendet werden.
Wenn ein Prozeß ein Signal empfängt können verschiedene
Fälle eintreten:
- 1.
- Indem das Anwendungsprogramm eine spezielle Funktion zur Behandlung
eines Signals bereitstellt kann dieses Signal abgefangen werden. Signale
können damit zur asynchronen Fehler- bzw. Ausnahmebehandlung sowie
zu einer primitiven Prozeßkommunikation genutzt werden.
- 2.
- Das Signal kann ignoriert werden. Das ist der Regelfall für alle
Signale die nicht abgefangen werden.
- 3.
- Die Signale SIGKILL und SIGSTOP können nicht
abgefangen werden, sie werden direkt vom Kernel behandelt. Mit SIGKILL
(9) wird der Prozeß sofort beendet.
In der bash ist ein kill-Kommando eingebaut, daß
dieses externe Programm verdeckt, wenn nicht ausdrücklich mit dem
command-Shellkommando das externe Programm aufgerufen wird.
Optionen
- -s Signal
- sendet das Signal anstelle von SIGTERM (15)
- -p
- gibt die Prozeßnummern der Prozesse aus, an die ein Signal
gesendet würde, ohne es zu senden
- -a
- veranlaßt kill auch Prozesse anderer Benutzer
einzubeziehen
- -l
- gibt eine Namensliste aller Signale aus; eine Signalnummer als
Argument wird in den entsprechenden Signalnamen übersetzt