Kill: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
Keine Bearbeitungszusammenfassung  | 
				K Textersetzung - „line>“ durch „line copy>“  | 
				||
| (117 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''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 [[Paket]]s [[procps]]  | |||
== Aufruf ==  | |||
<syntaxhighlight lang="bash" highlight="1-2" line copy>  | |||
kill [Optionen] <Prozess-ID> […]  | |||
kill [-s Signal] [-p] [-a] [-l [Signalnummer]] <Prozess-ID> […]  | |||
</syntaxhighlight>  | |||
=== Optionen ===  | |||
{| class="wikitable sortable options gnu"  | |||
|-  | |||
! Unix !! GNU !! Parameter !! Beschreibung  | |||
|-  | |||
| - </br>-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 ===  | |||
{| class="wikitable options"  | |||
|-  | |||
! Parameter !! Beschreibung  | |||
|-  | |||
| <Prozess-ID> […] || sendet das Signal an alle aufgelisteten <Prozesskennungen>  | |||
|}  | |||
=== Implementierung ===  | |||
; [[Buils-In]]  | |||
[[Linux/Shell]]s besitzen oft einen eingebauten Kill-Befehl  | |||
<syntaxhighlight lang="bash" highlight="1" line copy>  | |||
type kill  | |||
kill ist eine von der Shell mitgelieferte Funktion  | |||
</syntaxhighlight>  | |||
; Direkter Aufruf  | |||
Konflikt umgehen  | |||
<syntaxhighlight lang="bash" highlight="1" line copy>  | |||
/bin/kill  | |||
</syntaxhighlight>  | |||
== Anwendung ==  | |||
=== Alle Prozesse beenden ===  | |||
; killt alle Prozesse, die gekillt werden können  | |||
<syntaxhighlight lang="bash" highlight="1" line copy>  | |||
kill -9 -1  | |||
</syntaxhighlight>  | |||
=== Signalnummer übersetzen ===  | |||
übersetzt die Zahl 11 in einen Signalnamen  | |||
<syntaxhighlight lang="bash" highlight="1" line copy>  | |||
kill -l 11  | |||
</syntaxhighlight>  | |||
=== Verfügbare Signale ===  | |||
; listet die Auswahl der verfügbaren Signale in einer übersichtlichen Tabelle auf  | |||
<syntaxhighlight lang="bash" highlight="1" line copy>  | |||
kill -L  | |||
</syntaxhighlight>  | |||
=== SIGTERM an Prozesse senden ===  | |||
; Sendet das Standardsignal SIGTERM an alle diese Prozesse  | |||
<syntaxhighlight lang="bash" highlight="1" line copy>  | |||
kill 123 543 2341 3453  | |||
</syntaxhighlight>  | |||
<noinclude>  | |||
== Anhang ==  | |||
=== Siehe auch ===  | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}  | |||
{| class="wikitable sortable options col2center"  | |||
|-  | |||
! Kommando !! Section !! Beschreibung !! MAN-Page  | |||
|-  | |||
| [[kill]] || 2 || ||  | |||
|-  | |||
| [[killall]] || 1 || ||  | |||
|-  | |||
| [[nice]] || 1 ||  ||  | |||
|-  | |||
| [[pkill]] || 1 ||  ||  | |||
|-  | |||
| [[renice]] || 1 ||  ||  | |||
|-  | |||
| [[signal]] || 7 ||  ||  | |||
|-  | |||
| [[sigqueue]] || 3 ||  ||  | |||
|-  | |||
| [[skill]] || 1 || ||  | |||
|-  | |||
| [[prep]] || 1 || || [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]  | |||
|}  | |||
=== Dokumentation ===  | |||
; Man-Page  | |||
; Info-Pages  | |||
=== Links ===  | |||
==== Weblinks ====  | |||
{{DEFAULTSORT:kill}}  | |||
{{DISPLAYTITLE:kill}}  | |||
[[Kategorie:Linux/Befehl]]  | |||
[[Kategorie:Bash/Builtin]]  | |||
[[Kategorie:Linux/Prozess/Befehl]]  | |||
[[Kategorie:Procps]]  | |||
</noinclude>  | |||
Aktuelle Version vom 11. Mai 2025, 12:43 Uhr
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