signal.7: Unify signal lists into a signal table that embeds standards info

Having the signals listed in three different tables reduces
readability, and would require more table splits if future
standards specify other signals.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2018-11-17 10:10:30 +01:00
parent 6043ed9d54
commit 1fa9fdb1e9
1 changed files with 40 additions and 77 deletions

View File

@ -55,7 +55,7 @@ Each signal has a current
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.
@ -221,41 +221,59 @@ the pending signal set is preserved across an
.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 valid for x86, arm, and most other architectures,
the second one for alpha and sparc,
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 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 P1990 Term Interrupt from keyboard
SIGQUIT P1990 Core Quit from keyboard
SIGILL P1990 Core Illegal Instruction
SIGABRT P1990 Core Abort signal from \fBabort\fP(3)
SIGFPE P1990 Core Floating-point exception
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
SIGSEGV P1990 Core Invalid memory reference
SIGLOST \- Term File lock lost (unused)
SIGPIPE P1990 Term Broken pipe: write to pipe with no
readers; see \fBpipe\fP(7)
SIGALRM P1990 Term Timer signal from \fBalarm\fP(2)
SIGTERM P1990 Term Termination signal
SIGUSR1 P1990 Term User-defined signal 1
SIGUSR2 P1990 Term User-defined signal 2
SIGCHLD P1990 Ign Child stopped or terminated
SIGCONT P1990 Cont Continue if stopped
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
.PP
The signals
@ -264,28 +282,6 @@ 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 Standard Action Comment
SIGBUS P2001 Core Bus error (bad memory access)
SIGPOLL P2001 Term Pollable event (Sys V).
Synonym for \fBSIGIO\fP
SIGPROF P2001 Term Profiling timer expired
SIGSYS P2001 Core Bad system call (SVr4);
see also \fBseccomp\fP(2)
SIGTRAP P2001 Core Trace/breakpoint trap
SIGURG P2001 Ign Urgent condition on socket (4.2BSD)
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)
.TE
.PP
Up to and including Linux 2.2, the default behavior for
.BR SIGSYS ", " SIGXCPU ", " SIGXFSZ ", "
and (on architectures other than SPARC and MIPS)
@ -297,31 +293,6 @@ 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.
.PP
Next various other signals.
.TS
l c c l
____
lB c c l.
Signal Standard Action Comment
SIGIOT \- Core IOT trap. A synonym for \fBSIGABRT\fP
SIGEMT \- Term Emulator trap
SIGSTKFLT \- Term Stack fault on coprocessor (unused)
SIGIO \- Term I/O now possible (4.2BSD)
SIGCLD \- Ign A synonym for \fBSIGCHLD\fP
SIGPWR \- Term Power failure (System V)
SIGINFO \- A synonym for \fBSIGPWR\fP
SIGLOST \- Term File lock lost (unused)
SIGWINCH \- Ign Window resize signal (4.3BSD, Sun)
SIGUNUSED \- Core Synonymous with \fBSIGSYS\fP
.TE
.PP
(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
@ -336,15 +307,7 @@ by default on those other UNIX systems where it appears.
.B SIGIO
(which is not specified in POSIX.1-2001) is ignored by default
on several other UNIX systems.
.PP
Where defined,
.B SIGUNUSED
is synonymous with
.BR SIGSYS .
Since glibc 2.26,
.B SIGUNUSED
is no longer defined on any architecture.
.PP
.\"
.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