Zum Inhalt springen

Kill: Unterschied zwischen den Versionen

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


== Beschreibung ==
== 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 ==
== Installation ==
Zeile 17: Zeile 45:
! Unix !! GNU !! Parameter !! Beschreibung
! 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.
| - </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
| -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 || --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
| -L || --table || || listet Signalnamen in einer übersichtlichen Tabelle auf
Zeile 34: Zeile 66:
|}
|}


=== ANMERKUNGEN ===
=== Implementierung ===
In Ihrer Shell (dem Befehlszeileninterpreter) könnte bereits ein Kill-Befehl eingebaut sein. In  diesem  Fall  müssen Sie den hier beschriebenen Befehl als /bin/kill aufrufen, um den Konflikt zu umgehen.
; [[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 ==
== 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 43: 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 53: 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 ==
<noinclude>


=== Dateien ===
== Anhang ==
{| class="wikitable options"
=== 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 ||  ||
|-
|-
! Datei !! Beschreibung
| [[sigqueue]] || 3 ||  ||
|-
|-
| ||  
| [[skill]] || 1 || ||
|-
|-
| ||  
| [[prep]] || 1 || || [https://manpages.debian.org/testing/procps/pgrep.1.de.html prep(1)]
|}
|}
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


=== Dokumentation ===
=== Dokumentation ===
; Man-Page


; Man-Page
; Info-Pages
# [https://manpages.debian.org/testing/procps/pgrep.1.de.html prep(1)]
 
; Info-Pages  


=== Links ===
=== Links ===
==== Projekt ====
==== Weblinks ====
==== Weblinks ====
{{DEFAULTSORT:kill}}
{{DEFAULTSORT:kill}}
{{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>
= TMP1 =
== 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 ==
*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.&nbsp;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.
== BESCHREIBUNG ==
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.
= TMP =
== SIEHE AUCH ==
kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7), sigqueue(3), skill(1)

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