- Signal (Computer)
-
Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der Information (z. B. SIGWINCH) oder können einen Prozess anhalten (SIGSTOP). Es gibt auch vom Benutzer frei verwendbare Signale (SIGUSR1 und SIGUSR2). Einige Signale können vom Prozess abgefangen oder unterdrückt werden. So fangen z. B. manche Serverprogramme (im Unix-Jargon „Daemon“) SIGUSR1 oder SIGUSR2 ab und lesen dann ihre Konfigurationsdateien neu ein.
Gängige UNIX-Signale
Im folgenden ist eine Auflistung der üblichen Signale mit deren Nummern. Die unterstützten Signale und deren Werte können sich aber von System zu System unterscheiden. Der POSIX.1-Standard sieht hierbei unterschiedliche numerische Werte abhängig von der verwendeten Hardwarearchitektur vor.
Signal Wert Bedeutung Standard SIGHUP 1 Hangup POSIX SIGINT 2 Interrupt ANSI SIGQUIT 3 Quit POSIX SIGILL 4 Illegal instruction ANSI SIGTRAP 5 Trace trap POSIX SIGABRT 6 Abort ANSI SIGIOT 6 IOT trap 4.2 BSD SIGBUS 7 BUS error 4.2 BSD SIGFPE 8 Floating-point exception ANSI SIGKILL 9 Kill, unblockable POSIX SIGUSR1 10 User-defined signal 1 POSIX SIGSEGV 11 Segmentation violation ANSI SIGUSR2 12 User-defined signal 2 POSIX SIGPIPE 13 Broken pipe POSIX SIGALRM 14 Alarm clock POSIX SIGTERM 15 Termination ANSI SIGSTKFLT 16 Stack fault SIGCLD 17 Same as SIGCHLD System V SIGCHLD 17 Child status has changed POSIX SIGCONT 18 Continue POSIX SIGSTOP 19 Stop, unblockable POSIX SIGTSTP 20 Keyboard stop POSIX SIGTTIN 21 Background read from tty POSIX SIGTTOU 22 Background write to tty POSIX SIGURG 23 Urgent condition on socket 4.2 BSD SIGXCPU 24 CPU limit exceeded 4.2 BSD SIGXFSZ 25 File size limit exceeded 4.2 BSD SIGVTALRM 26 Virtual alarm clock 4.2 BSD SIGPROF 27 Profiling alarm clock 4.2 BSD SIGWINCH 28 Window size change 4.3 BSD, Sun SIGPOLL SIGIO Pollable event occurred System V SIGIO 29 I/O now possible 4.2 BSD SIGPWR 30 Power failure restart System V SIGSYS 31 Bad system call SIGUNUSED 31 Siehe auch
Das Unix-Kommando kill kann verwendet werden, um beliebige Signale unter Unix zu senden.
Weblinks
Wikimedia Foundation.