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.

729738
de