Zum Inhalt springen

Kill: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  man » Exit » man » OpenProject/Meeting Management » kill
TuanDoan1 (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „category:Prozessmanagement
 
K Textersetzung - „manpages.debian.org/testing“ durch „manpages.debian.org/stable“
 
(124 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[category:Prozessmanagement]]
'''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>
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>
type kill
kill ist eine von der Shell mitgelieferte Funktion
</syntaxhighlight>
 
; Direkter Aufruf
Konflikt umgehen
<syntaxhighlight lang="bash" highlight="1" line>
/bin/kill
</syntaxhighlight>
 
== Anwendung ==
=== Alle Prozesse beenden ===
; killt alle Prozesse, die gekillt werden können
<syntaxhighlight lang="bash" highlight="1" line>
kill -9 -1
</syntaxhighlight>
 
=== Signalnummer übersetzen ===
übersetzt die Zahl 11 in einen Signalnamen
<syntaxhighlight lang="bash" highlight="1" line>
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>
kill -L
</syntaxhighlight>
 
=== SIGTERM an Prozesse senden ===
; Sendet das Standardsignal SIGTERM an alle diese Prozesse
<syntaxhighlight lang="bash" highlight="1" line>
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 19. April 2025, 11:54 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