Unix signal
When using the Unix operating system, a signal is a system message to a running process. Signals are a primitive form of inter-process communication. Most signals also cause an action - usually the end of the process. Others, however, are for information only (eg SIGWINCH ) or can have a process to stop ( SIGSTOP ). There are also user freely usable signals ( SIGUSR1 and SIGUSR2 ). Some signals can be intercepted or suppressed by the process. To begin, for example, some server programs ( in Unix jargon " daemon " ) SIGUSR1 or SIGUSR2 from and then read their configuration files, and re.
Common UNIX signals
Below, the common signals are listed with their numbers. The supported signals and their values can differ from system to system. The POSIX.1 standard here looks different numerical values depending ago by the hardware architecture used.
In the SIG prefix is in each case the short form of signal.
With the command "kill -l" (lowercase "L") all supported signal numbers are output with the corresponding names usually. The table below provides by way of example the following values:
- Column A: GNU C library
- Column C: Linux, x86, AMD64, ARM, and most other processor architectures
- Column D: Linux, MIPS
Use newer Linux versions alongside the usual 31 signal numbers for up to 32 additional signals from 33 ( or 34, or 35, depending on the C library ) ( SIGRTMIN ) to 64 ( SIGRTMAX ) as a real time signals.
Actions
The default behavior of programs when they receive one of the signals is one of the following actions:
- Stop (not terminate ) the current program.
- Resume the previously suspended program.
- Exit the program without a dump.
- Exit the program with writing a dump.
- Ignore the signal.
The signals can be " intercepted " by the program and trigger another reaction SIGKILL and SIGSTOP up on.