Kill: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' | '''kill''' - Signale an Programme senden | ||
== Beschreibung == | == 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. | * 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 Versenden von Signalen soll auch im Zusammenhang mit Prozessen diskutiert werden. | ||
; Prozesse beenden mit kill | |||
*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 == | == Installation == | ||
Zeile 11: | Zeile 23: | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line> | ||
kill·[-s Signal]·[-p]·[-a]·[-l·[Signalnummer]]· Prozess-ID ... | |||
</syntaxhighlight> | |||
=== Optionen === | === Optionen === | ||
-s Signal sendet das Signal anstelle von SIGTERM (15), | -s Signal sendet das Signal anstelle von SIGTERM (15), | ||
-a veranlasst kill auch Prozesse anderer Benutzer einzubeziehen, | -a veranlasst kill auch Prozesse anderer Benutzer einzubeziehen, | ||
Zeile 22: | Zeile 34: | ||
=== Umgebungsvariablen === | === Umgebungsvariablen === | ||
=== Exit-Status === | === Exit-Status === | ||
== Anwendung == | == Anwendung == | ||
=== Problembehebung === | === Problembehebung === | ||
Zeile 40: | Zeile 53: | ||
{{DISPLAYTITLE:kill}} | {{DISPLAYTITLE:kill}} | ||
{{SORTIERUNG:kill}} | {{SORTIERUNG:kill}} |
Aktuelle Version vom 14. Dezember 2024, 12:45 Uhr
kill - Signale an Programme senden
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 mit kill
- 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
Aufruf
kill·[-s Signal]·[-p]·[-a]·[-l·[Signalnummer]]· Prozess-ID ...
Optionen
-s Signal sendet das Signal anstelle von SIGTERM (15), -a veranlasst kill auch Prozesse anderer Benutzer einzubeziehen, -l gibt eine Namensliste aller Signale aus; eine Signalnummer als Argument wird in den entsprechenden Signalnamen übersetzt