Prozesse Signale: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ '''Signale''' Mit den Kommando kill und killall kann man Prozessen Signale schicken kill -Signalnummer PID Signalnummer {| border=1 cellpadding=2 !Signal…“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Signale=
  
'''Signale'''
+
Mit den Kommandos kill und killall können Prozessen Signale gesendet werden.
  
Mit den Kommando kill und killall kann man Prozessen Signale schicken
+
kill -SIGNAL PID
  
kill -Signalnummer PID
+
;Hinweis
 +
*Ohne Angabe eines Signals wird SIGTERM (15) gesendet
 +
*Signale können als Nummer oder Name angegeben werden
  
Signalnummer
+
==Wichtige Signale==
 
{| border=1 cellpadding=2
 
{| border=1 cellpadding=2
!Signalname
+
!Signalname !! Wert !! Aktion
!Wert
 
!Aktion
 
 
|-
 
|-
|SIGHUP
+
|SIGHUP || 1 || Neuinitialisierung eines Prozesses
|1
 
|Neuinitialisierung eines Prozesses
 
 
|-
 
|-
|SIGINT
+
|SIGINT || 2 || Interrupt von der Tastatur (STRG+C)
|2
 
|Interrupt-Signal von der Tastatur (STRG+c)
 
 
|-
 
|-
|SIGQUIT
+
|SIGQUIT || 3 || Interrupt mit Speicherabbild (Dump)
|3
 
|Interrupt-Signal von der Tastatur (STRG+c) mit Dump
 
 
|-
 
|-
|SIGKILL
+
|SIGKILL || 9 || Unwiderrufliches Beenden
|9
 
|unwiderrufliches Beendigungssignal (Töten)
 
 
|-
 
|-
|SIGSEGV
+
|SIGSEGV || 11 || Ungültiger Speicherzugriff
|11
 
|Ungültige Speicherreferenz (bedeutet oft auf defekten Speicher)
 
 
|-
 
|-
|SIGTERM  
+
|SIGTERM || 15 || Reguläres Beenden (Standard)
|15
 
|Beendigungssignal (geöffnete Dateien werden geschlossen)
 
 
|-
 
|-
|SIGCONT  
+
|SIGCONT || 18 || Fortsetzen eines gestoppten Prozesses
|18
 
|Weiterfahren, wenn gestoppt
 
 
|-
 
|-
|SIGSTOP
+
|SIGSTOP || 19 || Prozess anhalten
|19
 
|Prozessstop
 
 
|}
 
|}
  
Beispiel
+
==Beispiele==
* kill -1 7562
+
*kill 7562
 +
*kill -15 7562
 +
*kill -SIGTERM 7562
 +
*kill -9 7562
 +
 
 +
==Abgrenzung==
 +
*kill arbeitet mit PID
 +
*killall arbeitet mit Prozessnamen
 +
*pkill erlaubt zusätzlich Filter
 +
 
 +
==Übungsaufgaben==
 +
 
 +
===Vorbereitung===
 +
;Terminal 1
 +
*sleep 300
 +
 
 +
;Terminal 2
 +
;für die folgenden Aufgaben
 +
 
 +
;Aufgabe 1
 +
*Beende den laufenden sleep-Prozess regulär
 +
<!-- Lösung:
 +
kill <PID>
 +
oder
 +
kill -15 <PID>
 +
-->
 +
 
 +
;Aufgabe 2
 +
*Starte sleep erneut und beende ihn mit einem härteren Signal
 +
<!-- Lösung:
 +
sleep 300
 +
kill -9 <PID>
 +
-->
 +
 
 +
;Aufgabe 3
 +
*Starte sleep erneut, stoppe den Prozess und setze ihn danach fort
 +
<!-- Lösung:
 +
sleep 300
 +
kill -STOP <PID>
 +
kill -CONT <PID>
 +
-->

Aktuelle Version vom 28. Januar 2026, 05:41 Uhr

Signale

Mit den Kommandos kill und killall können Prozessen Signale gesendet werden.

kill -SIGNAL PID
Hinweis
  • Ohne Angabe eines Signals wird SIGTERM (15) gesendet
  • Signale können als Nummer oder Name angegeben werden

Wichtige Signale

Signalname Wert Aktion
SIGHUP 1 Neuinitialisierung eines Prozesses
SIGINT 2 Interrupt von der Tastatur (STRG+C)
SIGQUIT 3 Interrupt mit Speicherabbild (Dump)
SIGKILL 9 Unwiderrufliches Beenden
SIGSEGV 11 Ungültiger Speicherzugriff
SIGTERM 15 Reguläres Beenden (Standard)
SIGCONT 18 Fortsetzen eines gestoppten Prozesses
SIGSTOP 19 Prozess anhalten

Beispiele

  • kill 7562
  • kill -15 7562
  • kill -SIGTERM 7562
  • kill -9 7562

Abgrenzung

  • kill arbeitet mit PID
  • killall arbeitet mit Prozessnamen
  • pkill erlaubt zusätzlich Filter

Übungsaufgaben

Vorbereitung

Terminal 1
  • sleep 300
Terminal 2
für die folgenden Aufgaben
Aufgabe 1
  • Beende den laufenden sleep-Prozess regulär
Aufgabe 2
  • Starte sleep erneut und beende ihn mit einem härteren Signal
Aufgabe 3
  • Starte sleep erneut, stoppe den Prozess und setze ihn danach fort