31

This question already has an answer here:

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 disasterous might happen if process is allowed to cont., kill -9 
10 - SIGUSR1 
11 - SIGEGV 
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 

marked as duplicate by Gilles, techraf, HalosGhost, GAD3R, Jeff Schaller Oct 19 '16 at 22:42

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 3
    Read signal(7), it probably has all the info you're looking for... – Stephen Kitt Oct 19 '16 at 15:59
  • 1
    Or signal(3) on *BSD, or there's also a chapter in APUE. – thrig Oct 19 '16 at 16:01
  • I think SIGQUIT's keyboard shortcut is supposed to be `ctrl-` – Christian Gibbons Jul 27 '18 at 20:16
34

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.
  • 5
    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
  • 6
    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
  • @Dave, use apropos in Linux/Unix to search through man pages. e.g., apropos signal – ender.qa Aug 29 '18 at 16:44
  • 2
    For a quick number to signal name mapping trap -l (in bash) - that's lowercase L – Marcus Linsner Sep 13 '18 at 17:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.