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