Zum Inhalt springen

Kill: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  kill » kill » kill » kill » kill
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
Das Kommando dient der Steuerung bereits laufender Prozesse
; Steuerung laufender Prozesse
* indem es an diese Signale versendet
* 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
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


; Standardsignal
Das Standardsignal für kill ist TERM
Das Standardsignal für kill ist TERM
* Mit -l oder -L können Sie die verfügbaren Signale auflisten
* Mit -l oder -L können Sie die verfügbaren Signale auflisten
Zeile 65: Zeile 67:


=== Implementierung ===
=== Implementierung ===
Viele [[Shell]]s besitzen einen eingebauten Kill-Befehl
; [[Buils-In]]
[[Linux/Shell]]s besitzen oft einen eingebauten Kill-Befehl
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
type kill
type kill
Zeile 72: Zeile 75:


; Direkter Aufruf
; Direkter Aufruf
/bin/kill direkt aufrufen, um den Konflikt zu umgehen
Konflikt umgehen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
/bin/kill
/bin/kill
Zeile 78: Zeile 81:


== Anwendung ==
== Anwendung ==
=== Alle Prozesse beenden ===
; killt alle Prozesse, die gekillt werden können
; killt alle Prozesse, die gekillt werden können
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
Zeile 83: Zeile 87:
</syntaxhighlight>
</syntaxhighlight>


; übersetzt die Zahl 11 in einen Signalnamen
=== Signalnummer übersetzen ===
übersetzt die Zahl 11 in einen Signalnamen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
kill -l 11
kill -l 11
</syntaxhighlight>
</syntaxhighlight>


=== Verfügbare Signale ===
; listet die Auswahl der verfügbaren Signale in einer übersichtlichen Tabelle auf
; listet die Auswahl der verfügbaren Signale in einer übersichtlichen Tabelle auf
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
Zeile 93: Zeile 99:
</syntaxhighlight>
</syntaxhighlight>


Sendet das Standardsignal SIGTERM an alle diese Prozesse
=== SIGTERM an Prozesse senden ===
; Sendet das Standardsignal SIGTERM an alle diese Prozesse
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line>
kill 123 543 2341 3453
kill 123 543 2341 3453
</syntaxhighlight>
</syntaxhighlight>


== Konfiguration ==
=== Dateien ===
{| class="wikitable options"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
<noinclude>
<noinclude>


Zeile 147: Zeile 144:
{{DISPLAYTITLE:kill}}
{{DISPLAYTITLE:kill}}


[[Kategorie:Linux/Befehl]]
[[Kategorie:Bash/Builtin]]
[[Kategorie:Bash/Builtin]]
[[Kategorie:Linux/Prozess/Befehl]]
[[Kategorie:Linux/Prozess/Befehl]]
[[Kategorie:Procps]]
[[Kategorie:Procps]]
[[Kategorie:Linux/Befehl]]


</noinclude>
</noinclude>

Aktuelle Version vom 6. April 2025, 13:00 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
  • 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

Buils-In

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