Zum Inhalt springen

Kill: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Internet Service Provider » Mkdir » PuTTY/puttygen » APT/Repositories » kill
Thomaskarras (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K Textersetzung - „line>“ durch „line copy>“
 
(122 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[category:Linux:Prozessmanagement]]
'''kill''' - Signale an Prozesse senden
== Prozesse beenden mit kill ==


kill·[-s Signal]·[-p]·[-a]·[-l·[Signalnummer]]· Prozess-ID ...
== Beschreibung ==
; Steuerung laufender Prozesse
* Signale senden


    beendet außer Kontrolle geratene („aufgehängte“) Prozesse und sendet Signale an Prozesse.
== Bedeutungen von Signalen ==
    Das Signal kann mit Namen oder Nummer angegeben werden. Ist kein Signal angegeben, wird SIGTERM (15) gesendet.
; Vordefinierte Bedeutungen
    Der Prozess wird kann durch seine Prozessnummer oder seinen Namen angegeben
Während einige Signale vordefinierte Bedeutungen besitzen, können andere von den Prozessen nach eigenen Vorstellungen behandelt werden
    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.
; Standardsignal
    Die Signale SIGKILL und SIGSTOP können nicht abgefangen werden, sie werden direkt vom Kernel behandelt. Mit SIGKILL (9) wird der Prozess sofort beendet.
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


Optionen
== Prozesse beenden ==
-s Signal sendet das Signal anstelle von SIGTERM (15)
Beendet außer Kontrolle geratene ("aufgehängte") Prozesse und sendet Signale an Prozesse
-a veranlasst kill auch Prozesse anderer Benutzer einzubeziehen
* Das Signal kann mit Namen oder Nummer angegeben werden
-l gibt eine Namensliste aller Signale aus; eine Signalnummer als Argument wird in den entsprechenden Signalnamen übersetzt
* 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, 13: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
  • 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