Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Signals — Deep Reference

This section is the source-backed inventory of the Linux signal set itself: what each signal means, how it is numbered on every architecture the kernel ships, what the kernel guarantees about delivery, and how the real-time signal range behaves. It complements — and deliberately goes deeper than — the overview chapter Signals, which introduces the programming model (handlers, masks, the self-pipe trick) at survey level.

The pages in this section are organized around the coverage ledger (process-exit-signal-coverage.md), which assigns stable IDs SIG-001 through SIG-040 to every requirement in this area:

PageCoverageIDs
Standard signalsThe 31 classic signals one by one (name, per-architecture number, purpose, default action, catchability, core-dump behavior, practical use and caveats), the full architecture numbering table, disposition rules, and generation-vs-delivery semantics (no queueing, pending set, blocking)SIG-001 – SIG-034
Real-time signalsSIGRTMIN–SIGRTMAX placement (kernel vs glibc vs musl), queuing and ordering guarantees, RLIMIT_SIGPENDING limits and EAGAIN, sigqueue(3)/rt_sigqueueinfo(2), trade-offs and common misconceptionsSIG-035 – SIG-040

Scope and verification

All signal numbers quoted in this section were verified directly against the Linux kernel UAPI headers (include/uapi/asm-generic/signal.h and the per-architecture arch/*/include/uapi/asm/signal.h in the torvalds/linux tree, checked at fetch time) and cross-checked against signal(7) from the Linux man-pages project. Behavioral claims are cited to the man page that documents them, and each chapter separates POSIX/C-standard guarantees from Linux-specific and libc-specific behavior. The chapters state exactly which kernel tree version and architecture set the tables cover; completeness beyond that set is not claimed.

References