kill
kill - Signale an Prozesse senden
Beschreibung
Installation
kill ist Teil des Pakets procps
Aufruf
kill [Optionen] <Prozess-ID> […]
kill [-s Signal] [-p] [-a] [-l [Signalnummer]] <Prozess-ID> […]
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
- -s |
--signal | <Signal> | gibt das zu sendende Signal an. Es kann als Name oder Nummer angegeben werden. Das Verhalten der Signale ist in der Handbuchseite zu signal(7) beschrieben. |
-q | --queue | Wert | verwendet sigqueue(3) anstatt kill(2) und das Wert-Argument wird zur Angabe einer Ganzzahl verwendet, die mit dem Signal gesendet wird. Falls der empfangende Prozess mit dem SA_SIGINFO-Flag für sigaction(2) einen Handler für dieses Signal installiert hat, dann kann er diese Daten über das si_value-Feld der Struktur siginfo_t beziehen |
-l | --list | [Signal] | listet Signalnamen auf. Diese Option kann ein Argument haben, welches die Signalnummer in einen Signalnamen umwandelt oder umgekehrt |
-L | --table | listet Signalnamen in einer übersichtlichen Tabelle auf |
Parameter
Parameter | Beschreibung |
---|---|
<Prozess-ID> […] | sendet das Signal an alle aufgelisteten <Prozesskennungen> |
Implementierung
Viele Shells besitzen einen eingebauten Kill-Befehl
type kill
kill ist eine von der Shell mitgelieferte Funktion
- Direkter Aufruf
/bin/kill direkt aufrufen, um den Konflikt zu umgehen
/bin/kill
Anwendung
- killt alle Prozesse, die gekillt werden können
kill -9 -1
- übersetzt die Zahl 11 in einen Signalnamen
kill -l 11
- listet die Auswahl der verfügbaren Signale in einer übersichtlichen Tabelle auf
kill -L
Sendet das Standardsignal SIGTERM an alle diese Prozesse
kill 123 543 2341 3453
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
- kill(2)
- killall(1)
- nice(1)
- pkill(1)
- renice(1)
- signal(7)
- sigqueue(3)
- skill(1)
Dokumentation
- Man-Page
- Info-Pages
Links
Weblinks
TMP1
Beschreibung
Das Kommando dient der Steuerung bereits laufender Prozesse, indem es an diese Signale versendet.
- Während einige Signale vordefinierte Bedeutungen besitzen, können andere von den Prozessen nach eigenen Vorstellungen behandelt werden.
- Das Versenden von Signalen soll auch im Zusammenhang mit Prozessen diskutiert werden.
Das Standardsignal für kill ist TERM. Mit -l oder -L können Sie die verfügbaren Signale auflisten. Im einzelnen sind HUP, INT, KILL, STOP, CONT und 0 nützliche Signale. Alternative Signale können auf drei Arten angegeben werden: -9, -SIGKILL oder -KILL. Negative Werte für die Prozesskennung können verwendet werden, um ganze Prozessgruppen auszuwählen; siehe die Spalte PGID der Ausgabe des Befehls ps. Eine Prozesskennung von -1 ist besonders. Sie bezeichnet alle Prozesse außer init und den kill-Prozess selbst.
Prozesse beenden
- Beendet außer Kontrolle geratene ("aufgehängte") Prozesse und sendet Signale an Prozesse.
- Das Signal kann mit Namen oder Nummer angegeben werden. Ist kein Signal angegeben, wird SIGTERM (15) gesendet.
- Der Prozess wird dann durch seine Prozessnummer (PID) oder seinen Namen angegeben
- Signale können ohne Root-Privilegien nur an die eigenen Prozesse gesendet werden.
- Prozesse reagieren unterschiedlich auf diese Signale:# Wenn das Anwendungsprogramm eine Funktion zur Behandlung eines Signals bereitstellt, kann dieses Signal abgefangen werden.
- Signale können damit zur asynchronen Fehler- bzw. Ausnahmebehandlung sowie zu einer primitiven Prozesskommunikation genutzt werden.
- Das Signal kann ignoriert werden. Das ist der Regelfall für alle Signale, die nicht abgefangen werden.
- Die Signale SIGKILL und SIGSTOP können nicht abgefangen werden, sie werden direkt vom Kernel behandelt. Mit SIGKILL (9) wird der Prozess sofort beendet.