90

I'm familiar with several process signals and what they do, but I would like to understand them all.

There are three things I would like to find out about each signal.

  1. What the signal does
  2. When a signal like this is typically sent
  3. Any command line shortcuts or commands that are associated with them

Here is the list of signals and what I have so far.

0 - ? 
1 - SIGHUP - ?, controlling terminal closed, 
2 - SIGINT - interupt process stream, ctrl-C 
3 - SIGQUIT - like ctrl-C but with a core dump, interuption by error in code, ctl-/ 
4 - SIGILL 
5 - SIGTRAP 
6 - SIGABRT 
7 - SIGBUS 
8 - SIGFPE 
9 - SIGKILL - terminate immediately/hard kill, use when 15 doesn't work or when something disastrous might happen if the process is allowed to cont., kill -9 
10 - SIGUSR1 
11 - SIGSEGV 
12 - SIGUSR2
13 - SIGPIPE 
14 - SIGALRM
15 - SIGTERM - terminate whenever/soft kill, typically sends SIGHUP as well? 
16 - SIGSTKFLT 
17 - SIGCHLD 
18 - SIGCONT - Resume process, ctrl-Z (2nd)
19 - SIGSTOP - Pause the process / free command line, ctrl-Z (1st)
20 - SIGTSTP 
21 - SIGTTIN 
22 - SIGTTOU
23 - SIGURG
24 - SIGXCPU
25 - SIGXFSZ
26 - SIGVTALRM
27 - SIGPROF
28 - SIGWINCH
29 - SIGIO 
29 - SIGPOLL 
30 - SIGPWR - shutdown, typically from unusual hardware failure 
31 - SIGSYS 
Cyril
  • 103
Dave
  • 1,025

1 Answers1

98

man 7 signal will show you a complete table with a brief summary of the meaning of each signal:

   First the signals described in the original POSIX.1-1990 standard.

Signal Value Action Comment ────────────────────────────────────────────────────────────────────── SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt from keyboard SIGQUIT 3 Core Quit from keyboard SIGILL 4 Core Illegal Instruction SIGABRT 6 Core Abort signal from abort(3) SIGFPE 8 Core Floating point exception SIGKILL 9 Term Kill signal SIGSEGV 11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe with no readers SIGALRM 14 Term Timer signal from alarm(2) SIGTERM 15 Term Termination signal SIGUSR1 30,10,16 Term User-defined signal 1 SIGUSR2 31,12,17 Term User-defined signal 2 SIGCHLD 20,17,18 Ign Child stopped or terminated SIGCONT 19,18,25 Cont Continue if stopped SIGSTOP 17,19,23 Stop Stop process SIGTSTP 18,20,24 Stop Stop typed at terminal SIGTTIN 21,21,26 Stop Terminal input for background process SIGTTOU 22,22,27 Stop Terminal output for background process

The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.

Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and POSIX.1-2001.

Signal Value Action Comment ──────────────────────────────────────────────────────────────────── SIGBUS 10,7,10 Core Bus error (bad memory access) SIGPOLL Term Pollable event (Sys V). Synonym for SIGIO SIGPROF 27,27,29 Term Profiling timer expired SIGSYS 12,31,12 Core Bad argument to routine (SVr4) SIGTRAP 5 Core Trace/breakpoint trap SIGURG 16,23,21 Ign Urgent condition on socket (4.2BSD) SIGVTALRM 26,26,28 Term Virtual alarm clock (4.2BSD) SIGXCPU 24,24,30 Core CPU time limit exceeded (4.2BSD) SIGXFSZ 25,25,31 Core File size limit exceeded (4.2BSD)

Up to and including Linux 2.2, the default behavior for SIGSYS, SIGX‐ CPU, SIGXFSZ, and (on architectures other than SPARC and MIPS) SIGBUS was to terminate the process (without a core dump). (On some other UNIX systems the default action for SIGXCPU and SIGXFSZ is to terminate the process without a core dump.) Linux 2.4 conforms to the POSIX.1-2001 requirements for these signals, terminating the process with a core dump.

Next various other signals.

Signal Value Action Comment ──────────────────────────────────────────────────────────────────── SIGIOT 6 Core IOT trap. A synonym for SIGABRT SIGEMT 7,-,7 Term SIGSTKFLT -,16,- Term Stack fault on coprocessor (unused) SIGIO 23,29,22 Term I/O now possible (4.2BSD) SIGCLD -,-,18 Ign A synonym for SIGCHLD SIGPWR 29,30,19 Term Power failure (System V) SIGINFO 29,-,- A synonym for SIGPWR SIGLOST -,-,- Term File lock lost (unused) SIGWINCH 28,28,20 Ign Window resize signal (4.3BSD, Sun) SIGUNUSED -,31,- Core Synonymous with SIGSYS

(Signal 29 is SIGINFO / SIGPWR on an alpha but SIGLOST on a sparc.)

SIGEMT is not specified in POSIX.1-2001, but nevertheless appears on most other UNIX systems, where its default action is typically to ter‐ minate the process with a core dump.

SIGPWR (which is not specified in POSIX.1-2001) is typically ignored by default on those other UNIX systems where it appears.

SIGIO (which is not specified in POSIX.1-2001) is ignored by default on several other UNIX systems.

Where defined, SIGUNUSED is synonymous with SIGSYS on most architec‐ tures.

DopeGhoti
  • 76,081
  • 17
    Ahh! I think SIGKILL/9 - the premeditated savage murder of a process - is my personal favorite... so much more satisfying than SIGTERM/15 - to just telling the process to "shut-up and die!" (but clean up after yourself first). – Baard Kopperud Oct 19 '16 at 19:45
  • 20
    Yeah, but too much savage murder can lead to a horde of zombies, which is never good. – DopeGhoti Oct 19 '16 at 21:30
  • 1
    Knew there was some man pages on this, didn't know where to look though. – Dave Oct 20 '16 at 18:58
  • 1
    @Dave, use apropos in Linux/Unix to search through man pages. e.g., apropos signal – ender.qa Aug 29 '18 at 16:44
  • 5
    For a quick number to signal name mapping trap -l (in bash) - that's lowercase L –  Sep 13 '18 at 17:38
  • 1
    DopeGhoti How does savage murder lead to a horde of zombies? Well behaved parents will notice when their children are savagely murdered. Well behaved parents that are savagely murdered will have their children adopted by pid 1. pid 1 is immune to savage murder. This is not how the zombie apocalypse will begin. – William Pursell Apr 21 '19 at 11:28
  • 2
    Zombie apocalypses are rarely caused by the well-behaved. – DopeGhoti Apr 22 '19 at 18:15
  • @BaardKopperud can't help myself saying that's my favorite too! : -D – j5shi Nov 18 '20 at 07:20
  • 1
    No manual entry for signal – FreeBSD. Instead: man 3 signal – https://unix.stackexchange.com/questions/317492/list-of-kill-signals#comment558024_317492 – Graham Perrin Jan 30 '21 at 14:56