Prozesse Signale: Unterschied zwischen den Versionen
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= | |||
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== | |||
{| 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 | |||
|- | |- | ||
|SIGQUIT | |SIGQUIT || 3 || Interrupt mit Speicherabbild (Dump) | ||
|3 | |||
|Interrupt | |||
|- | |- | ||
|SIGKILL | |SIGKILL || 9 || Unwiderrufliches Beenden | ||
|9 | |||
| | |||
|- | |- | ||
|SIGSEGV | |SIGSEGV || 11 || Ungültiger Speicherzugriff | ||
|11 | |||
| | |||
|- | |- | ||
|SIGTERM | |SIGTERM || 15 || Reguläres Beenden (Standard) | ||
|15 | |||
| | |||
|- | |- | ||
|SIGCONT | |SIGCONT || 18 || Fortsetzen eines gestoppten Prozesses | ||
|18 | |||
| | |||
|- | |- | ||
|SIGSTOP | |SIGSTOP || 19 || Prozess anhalten | ||
|19 | |||
| | |||
|} | |} | ||
==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 | |||
<!-- 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