Kill: Unterschied zwischen den Versionen
K Textersetzung - „Bash/Builtins“ durch „Bash/Builtin“ Markierung: Manuelle Zurücksetzung |
Keine Bearbeitungszusammenfassung |
||
Zeile 25: | Zeile 25: | ||
[[Kategorie:Bash/Builtin]] | [[Kategorie:Bash/Builtin]] | ||
[[Kategorie:Linux/Prozesse]] | [[Kategorie:Linux/Prozesse]] | ||
[[Kategorie:Procps]] |
Version vom 13. Dezember 2024, 22:32 Uhr
Prozesse beenden mit kill
kill·[-s Signal]·[-p]·[-a]·[-l·[Signalnummer]]· Prozess-ID ...
- 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.
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
kill
- 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.
- siehe auch [kill]