.\" Added section on stop/cont signals interrupting syscalls.
.\" 2008-10-05, mtk: various additions
.\"
-.TH SIGNAL 7 2017-09-15 "Linux" "Linux Programmer's Manual"
+.TH SIGNAL 7 2019-03-06 "Linux" "Linux Programmer's Manual"
.SH NAME
signal \- overview of signals
.SH DESCRIPTION
which determines how the process behaves when it is delivered
the signal.
.PP
-The entries in the "Action" column of the tables below specify
+The entries in the "Action" column of the table below specify
the default disposition for each signal, as follows:
.IP Term
Default action is to terminate the process.
.BR execve (2).
.SS Standard signals
Linux supports the standard signals listed below.
-Several signal numbers
-are architecture-dependent, as indicated in the "Value" column.
-Where four values are given, the first one is usually valid for
-alpha and sparc,
-the second one for x86, arm, and most other architectures,
-the third one for mips and the last one for parisc.
-A dash (\-) denotes that a signal is absent on the corresponding architecture.
-.PP
-First the signals described in the original POSIX.1-1990 standard.
+The second column of the table indicates which standard (if any)
+specified the signal: "P1990" indicates that the signal is described
+in the original POSIX.1-1990 standard;
+"P2001" indicates that the signal was added in SUSv2 and POSIX.1-2001.
.TS
l c c l
____
lB c c l.
-Signal Value Action Comment
-SIGHUP \01 Term Hangup detected on controlling terminal
+Signal Standard Action Comment
+SIGABRT P1990 Core Abort signal from \fBabort\fP(3)
+SIGALRM P1990 Term Timer signal from \fBalarm\fP(2)
+SIGBUS P2001 Core Bus error (bad memory access)
+SIGCHLD P1990 Ign Child stopped or terminated
+SIGCLD \- Ign A synonym for \fBSIGCHLD\fP
+SIGCONT P1990 Cont Continue if stopped
+SIGEMT \- Term Emulator trap
+SIGFPE P1990 Core Floating-point exception
+SIGHUP P1990 Term Hangup detected on controlling terminal
or death of controlling process
-SIGINT \02 Term Interrupt from keyboard
-SIGQUIT \03 Core Quit from keyboard
-SIGILL \04 Core Illegal Instruction
-SIGABRT \06 Core Abort signal from \fBabort\fP(3)
-SIGFPE \08 Core Floating-point exception
-SIGKILL \09 Term Kill signal
-SIGSEGV 11 Core Invalid memory reference
-SIGPIPE 13 Term Broken pipe: write to pipe with no
+SIGILL P1990 Core Illegal Instruction
+SIGINFO \- A synonym for \fBSIGPWR\fP
+SIGINT P1990 Term Interrupt from keyboard
+SIGIO \- Term I/O now possible (4.2BSD)
+SIGIOT \- Core IOT trap. A synonym for \fBSIGABRT\fP
+SIGKILL P1990 Term Kill signal
+SIGLOST \- Term File lock lost (unused)
+SIGPIPE P1990 Term Broken pipe: write to pipe with no
readers; see \fBpipe\fP(7)
-SIGALRM 14 Term Timer signal from \fBalarm\fP(2)
-SIGTERM 15 Term Termination signal
-SIGUSR1 30,10,16,16 Term User-defined signal 1
-SIGUSR2 31,12,17,17 Term User-defined signal 2
-SIGCHLD 20,17,18,18 Ign Child stopped or terminated
-SIGCONT 19,18,25,26 Cont Continue if stopped
-SIGSTOP 17,19,23,24 Stop Stop process
-SIGTSTP 18,20,24,25 Stop Stop typed at terminal
-SIGTTIN 21,21,26,27 Stop Terminal input for background process
-SIGTTOU 22,22,27,28 Stop Terminal output for background process
+SIGPOLL P2001 Term Pollable event (Sys V).
+ Synonym for \fBSIGIO\fP
+SIGPROF P2001 Term Profiling timer expired
+SIGPWR \- Term Power failure (System V)
+SIGQUIT P1990 Core Quit from keyboard
+SIGSEGV P1990 Core Invalid memory reference
+SIGSTKFLT \- Term Stack fault on coprocessor (unused)
+SIGSTOP P1990 Stop Stop process
+SIGTSTP P1990 Stop Stop typed at terminal
+SIGSYS P2001 Core Bad system call (SVr4);
+ see also \fBseccomp\fP(2)
+SIGTERM P1990 Term Termination signal
+SIGTRAP P2001 Core Trace/breakpoint trap
+SIGTTIN P1990 Stop Terminal input for background process
+SIGTTOU P1990 Stop Terminal output for background process
+SIGUNUSED \- Core Synonymous with \fBSIGSYS\fP
+SIGURG P2001 Ign Urgent condition on socket (4.2BSD)
+SIGUSR1 P1990 Term User-defined signal 1
+SIGUSR2 P1990 Term User-defined signal 2
+SIGVTALRM P2001 Term Virtual alarm clock (4.2BSD)
+SIGXCPU P2001 Core CPU time limit exceeded (4.2BSD);
+ see \fBsetrlimit\fP(2)
+SIGXFSZ P2001 Core File size limit exceeded (4.2BSD);
+ see \fBsetrlimit\fP(2)
+SIGWINCH \- Ign Window resize signal (4.3BSD, Sun)
.TE
-.sp 1
+.PP
The signals
.B SIGKILL
and
.B SIGSTOP
cannot be caught, blocked, or ignored.
.PP
-Next the signals not in the POSIX.1-1990 standard but described in
-SUSv2 and POSIX.1-2001.
-.TS
-l c c l
-____
-lB c c l.
-Signal Value Action Comment
-SIGBUS 10,7,10,10 Core Bus error (bad memory access)
-SIGPOLL Term Pollable event (Sys V).
- Synonym for \fBSIGIO\fP
-SIGPROF 27,27,29,21 Term Profiling timer expired
-SIGSYS 12,31,12,31 Core Bad system call (SVr4);
- see also \fBseccomp\fP(2)
-SIGTRAP 5 Core Trace/breakpoint trap
-SIGURG 16,23,21,29 Ign Urgent condition on socket (4.2BSD)
-SIGVTALRM 26,26,28,20 Term Virtual alarm clock (4.2BSD)
-SIGXCPU 24,24,30,12 Core CPU time limit exceeded (4.2BSD);
- see \fBsetrlimit\fP(2)
-SIGXFSZ 25,25,31,30 Core File size limit exceeded (4.2BSD);
- see \fBsetrlimit\fP(2)
-.TE
-.sp 1
Up to and including Linux 2.2, the default behavior for
.BR SIGSYS ", " SIGXCPU ", " SIGXFSZ ", "
and (on architectures other than SPARC and MIPS)
Linux 2.4 conforms to the POSIX.1-2001 requirements for these signals,
terminating the process with a core dump.
.PP
-Next various other signals.
-.TS
-l c c l
-____
-lB c c l.
-Signal Value Action Comment
-SIGIOT 6 Core IOT trap. A synonym for \fBSIGABRT\fP
-SIGEMT 7,\-,7,- Term Emulator trap
-SIGSTKFLT \-,16,\-,7 Term Stack fault on coprocessor (unused)
-SIGIO 23,29,22,22 Term I/O now possible (4.2BSD)
-SIGCLD \-,\-,18,\- Ign A synonym for \fBSIGCHLD\fP
-SIGPWR 29,30,19,19 Term Power failure (System V)
-SIGINFO 29,\-,\-,\- A synonym for \fBSIGPWR\fP
-SIGLOST \-,\-,\-,\- Term File lock lost (unused)
-SIGWINCH 28,28,20,23 Ign Window resize signal (4.3BSD, Sun)
-SIGUNUSED \-,31,\-,31 Core Synonymous with \fBSIGSYS\fP
-.TE
-.sp 1
-(Signal 29 is
-.B SIGINFO
-/
-.B SIGPWR
-on an alpha but
-.B SIGLOST
-on a sparc.)
.PP
.B SIGEMT
is not specified in POSIX.1-2001, but nevertheless appears
.B SIGIO
(which is not specified in POSIX.1-2001) is ignored by default
on several other UNIX systems.
+.\"
+.SS Signal numbering for standard signals
+The numeric value for each signal is given in the table below.
+As shown in the table, many signals have different numeric values
+on different architectures.
+The first numeric value in each table row shows the signal number
+on x86, ARM, and most other architectures;
+the second value is for Alpha and SPARC; the third is for MIPS;
+and the last is for PARISC.
+A dash (\-) denotes that a signal is absent on the corresponding architecture.
+.TS
+l c c c c l
+l c c c c l
+______
+lB c c c c l.
+Signal x86/ARM Alpha/ MIPS PARISC Notes
+ most others SPARC
+SIGHUP \01 \01 \01 \01
+SIGINT \02 \02 \02 \02
+SIGQUIT \03 \03 \03 \03
+SIGILL \04 \04 \04 \04
+SIGTRAP \05 \05 \05 \05
+SIGABRT \06 \06 \06 \06
+SIGIOT \06 \06 \06 \06
+SIGBUS \07 10 10 10
+SIGEMT \- \07 \07 -
+SIGFPE \08 \08 \08 \08
+SIGKILL \09 \09 \09 \09
+SIGUSR1 10 30 16 16
+SIGSEGV 11 11 11 11
+SIGUSR2 12 31 17 17
+SIGPIPE 13 13 13 13
+SIGALRM 14 14 14 14
+SIGTERM 15 15 15 15
+SIGSTKFLT 16 \- \- \07
+SIGCHLD 17 20 18 18
+SIGCLD \- \- 18 \-
+SIGCONT 18 19 25 26
+SIGSTOP 19 17 23 24
+SIGTSTP 20 18 24 25
+SIGTTIN 21 21 26 27
+SIGTTOU 22 22 27 28
+SIGURG 23 16 21 29
+SIGXCPU 24 24 30 12
+SIGXFSZ 25 25 31 30
+SIGVTALRM 26 26 28 20
+SIGPROF 27 27 29 21
+SIGWINCH 28 28 20 23
+SIGIO 29 23 22 22
+SIGPOLL Same as SIGIO
+SIGPWR 30 29/\- 19 19
+SIGINFO \- 29/\- \- \-
+SIGLOST \- \-/29 \- \-
+SIGSYS 31 12 12 31
+SIGUNUSED 31 \- \- 31
+.TE
.PP
+Note the following:
+.IP * 3
Where defined,
.B SIGUNUSED
is synonymous with
Since glibc 2.26,
.B SIGUNUSED
is no longer defined on any architecture.
+.IP *
+Signal 29 is
+.BR SIGINFO / SIGPWR
+(synonyms for the same value) on Alpha but
+.B SIGLOST
+on SPARC.
+.\"
.SS Real-time signals
Starting with version 2.2,
Linux supports real-time signals as originally defined in the POSIX.1b