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
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.
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.
BESCHREIBUNG
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.