Skip to content

Reference

Unix Signal Numbers

Signals are software interrupts that the kernel or other processes send to notify a program of an event. Signal numbers shown are for x86-64 Linux; some values differ on other architectures.

POSIX Standard Signals

#NameDefault ActionDescription
1SIGHUPTerminateHangup — terminal disconnected or controlling process ended. Daemons often reload config on SIGHUP.
2SIGINTTerminateInterrupt — sent by Ctrl+C. Graceful shutdown request.
3SIGQUITCore dumpQuit — sent by Ctrl+\. Like SIGINT but produces a core dump.
4SIGILLCore dumpIllegal instruction — CPU encountered an invalid opcode.
5SIGTRAPCore dumpTrace/breakpoint trap — used by debuggers.
6SIGABRTCore dumpAbort — sent by abort(). Indicates a fatal internal error.
8SIGFPECore dumpFloating-point exception — division by zero or overflow.
9SIGKILLTerminateKill — cannot be caught or ignored. Immediate process termination.
10SIGUSR1TerminateUser-defined signal 1 — application-specific (e.g. log rotation).
11SIGSEGVCore dumpSegmentation fault — invalid memory access.
12SIGUSR2TerminateUser-defined signal 2 — application-specific.
13SIGPIPETerminateBroken pipe — write to a pipe with no reader.
14SIGALRMTerminateAlarm clock — timer set by alarm() expired.
15SIGTERMTerminateTermination — default signal sent by kill command. Graceful shutdown.
17SIGCHLDIgnoreChild stopped or terminated — sent to parent process.
18SIGCONTContinueContinue — resume a stopped process (sent by fg or kill -CONT).
19SIGSTOPStopStop — cannot be caught or ignored. Suspends the process.
20SIGTSTPStopTerminal stop — sent by Ctrl+Z. Can be caught unlike SIGSTOP.
21SIGTTINStopBackground read — background process tried to read from terminal.
22SIGTTOUStopBackground write — background process tried to write to terminal.

Linux-specific Signals

#NameDefault ActionDescription
7SIGBUSCore dumpBus error — unaligned memory access or non-existent physical address.
16SIGSTKFLTTerminateStack fault on coprocessor (unused on modern Linux).
23SIGURGIgnoreUrgent data on socket — out-of-band data arrived.
24SIGXCPUCore dumpCPU time limit exceeded (setrlimit).
25SIGXFSZCore dumpFile size limit exceeded (setrlimit).
26SIGVTALRMTerminateVirtual timer expired (ITIMER_VIRTUAL).
27SIGPROFTerminateProfiling timer expired (ITIMER_PROF).
28SIGWINCHIgnoreWindow resize — terminal window size changed.
29SIGIOTerminateI/O now possible — async I/O event (SIGPOLL).
30SIGPWRTerminatePower failure — UPS indicating imminent shutdown.
31SIGSYSCore dumpBad system call — invalid syscall number (seccomp violations).
34-64SIGRTMIN to SIGRTMAXTerminateReal-time signals — queued, priority-ordered, application-defined.

Common Use Cases

CommandSignalPurpose
kill -15 <pid>SIGTERMGraceful shutdown — let the process clean up
kill -9 <pid>SIGKILLForce kill — when SIGTERM is ignored
kill -1 <pid>SIGHUPReload config — nginx, Apache, sshd
kill -USR1 <pid>SIGUSR1Reopen log files — used by log rotation
kill -STOP <pid>SIGSTOPPause a process
kill -CONT <pid>SIGCONTResume a paused process
Ctrl+CSIGINTInterrupt foreground process
Ctrl+ZSIGTSTPSuspend foreground process (use fg to resume)
Ctrl+\SIGQUITQuit with core dump for debugging

Explore more developer tools

StackCache offers 40+ developer utilities that run locally in your browser — no upload, no tracking.

Browse All Tools