kill
Erscheinungsbild
kill - Signale an Prozesse senden
Beschreibung
- Steuerung laufender Prozesse
- Signale senden
Bedeutungen von Signalen
- Vordefinierte Bedeutungen
Während einige Signale vordefinierte Bedeutungen besitzen, können andere von den Prozessen nach eigenen Vorstellungen behandelt werden
- Standardsignal
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
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
|
| -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
|
| -l | --list | [Signal] | listet Signalnamen auf
|
| -L | --table | listet Signalnamen in einer übersichtlichen Tabelle auf |
Parameter
| Parameter | Beschreibung |
|---|---|
| <Prozess-ID> […] | sendet das Signal an alle aufgelisteten <Prozesskennungen> |
Implementierung
Linux/Shells besitzen oft einen eingebauten Kill-Befehl
type kill
kill ist eine von der Shell mitgelieferte Funktion
- Direkter Aufruf
Konflikt umgehen
/bin/kill
Anwendung
Alle Prozesse beenden
- killt alle Prozesse, die gekillt werden können
kill -9 -1
Signalnummer übersetzen
übersetzt die Zahl 11 in einen Signalnamen
kill -l 11
Verfügbare Signale
- listet die Auswahl der verfügbaren Signale in einer übersichtlichen Tabelle auf
kill -L
SIGTERM an Prozesse senden
- Sendet das Standardsignal SIGTERM an alle diese Prozesse
kill 123 543 2341 3453
Anhang
Siehe auch
| Kommando | Section | Beschreibung | MAN-Page |
|---|---|---|---|
| kill | 2 | ||
| killall | 1 | ||
| nice | 1 | ||
| pkill | 1 | ||
| renice | 1 | ||
| signal | 7 | ||
| sigqueue | 3 | ||
| skill | 1 | ||
| prep | 1 | prep(1) |
Dokumentation
- Man-Page
- Info-Pages
Links
Weblinks