Prozesse Signale: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 42: Zeile 42:
  
 
==Übungsaufgaben==
 
==Übungsaufgaben==
 +
 +
===Vorbereitung===
 +
;Terminal 1
 +
*sleep 300
 +
 +
;Terminal 2
 +
;für die folgenden Aufgaben
 +
 
;Aufgabe 1
 
;Aufgabe 1
*Beende einen Prozess regulär
+
*Beende den laufenden sleep-Prozess regulär
 +
<!-- Lösung:
 +
kill <PID>
 +
oder
 +
kill -15 <PID>
 +
-->
  
 
;Aufgabe 2
 
;Aufgabe 2
*Beende denselben Prozess mit einem härteren Signal
+
*Starte sleep erneut und beende ihn mit einem härteren Signal
 +
<!-- Lösung:
 +
sleep 300
 +
kill -9 <PID>
 +
-->
  
 
;Aufgabe 3
 
;Aufgabe 3
*Stoppe einen laufenden Prozess und setze ihn danach fort
+
*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