📟 Gängige UNIX-Signale – Eine Übersicht

Wenn in der UNIX-Welt Prozesse miteinander kommunizieren oder vom System kontrolliert werden, geschieht das oft über sogenannte Signale. Diese sind kurze Benachrichtigungen des Kernels an einen Prozess, dass ein bestimmtes Ereignis eingetreten ist. Die Signale tragen in der Regel das Präfix SIG und können mithilfe von Befehlen wie kill oder durch das System selbst ausgelöst werden.

Mit kill -l lassen sich alle verfügbaren Signale auflisten, die auf dem jeweiligen System unterstützt werden. Wichtig: Die numerischen Signalwerte können sich je nach Architektur und Betriebssystem unterscheiden. Der POSIX-Standard definiert dabei nur die Namen, nicht aber die exakten Nummern.

📊 Beispielhafte Signalübersicht

Die folgende Tabelle zeigt eine Auswahl gängiger UNIX-Signale samt Beschreibung und typischer Verwendung:

SignalnameNummer (x86/ARM)Bedeutung (Kurzform)BeschreibungStandard
SIGHUP1HangupVerbindung zum Terminal unterbrochenPOSIX
SIGINT2InterruptAbbruch durch Tastenkombination (z.B. Ctrl+C)POSIX
SIGQUIT3QuitBeenden durch Tastatur (z.B. Ctrl+)POSIX
SIGILL4Illegal InstructionUngültiger MaschinenbefehlPOSIX
SIGABRT6AbortAbbruchsignal von abort()POSIX
SIGFPE8Floating Point ErrorFehlerhafte arithmetische OperationPOSIX
SIGKILL9Kill (nicht abfangbar)Sofortiges Beenden eines ProzessesPOSIX
SIGSEGV11SegfaultUngültiger SpeicherzugriffPOSIX
SIGPIPE13Broken PipeSchreiben auf Pipe ohne LeserPOSIX
SIGALRM14Alarm TimerZeitsignal von alarm()POSIX
SIGTERM15TerminateStandard-Signal zur BeendigungPOSIX
SIGUSR110User-defined Signal 1Benutzerdefiniertes SignalPOSIX
SIGUSR212User-defined Signal 2Benutzerdefiniertes SignalPOSIX
SIGCHLD17Child ChangedKindprozess beendet/geändertPOSIX
SIGSTOP19Stop (nicht abfangbar)Prozess anhaltenPOSIX
SIGCONT18ContinueAngehaltenen Prozess fortsetzenPOSIX
SIGTSTP20Terminal StopStop durch Tastatur (z.B. Ctrl+Z)POSIX

🛠️ Praktischer Hinweis

Wenn du mit Signalen arbeitest, solltest du immer überprüfen, welche Signale auf deinem System verfügbar sind. Verwende dazu:

kill -l

Beachte außerdem: Einige Signale wie SIGKILL oder SIGSTOP können nicht abgefangen oder ignoriert werden.


🌐 Weiterführende Ressourcen

UNIXLinuxSignaleProzessmanagementSIGKILLSystemprogrammierung