Skip to main content

Linux Signal Reference

v1.0.0

Browse POSIX signals with numbers, default actions, catchability, and practical examples.

27 signals found

1SIGHUP
Terminate

Hangup. Terminal closed or controlling process died. Often used to reload configuration.

kill -SIGHUP $(pidof nginx)
2SIGINT
Terminate

Interrupt from keyboard (Ctrl+C). Requests graceful termination.

kill -SIGINT 12345
3SIGQUIT
Core Dump

Quit from keyboard (Ctrl+\). Like SIGINT but produces a core dump.

kill -SIGQUIT 12345
4SIGILL
Core Dump

Illegal instruction. Process attempted to execute an invalid CPU instruction.

kill -SIGILL 12345
5SIGTRAP
Core Dump

Trace/breakpoint trap. Used by debuggers.

Used internally by gdb/lldb
6SIGABRT
Core Dump

Abort. Sent by abort() call when a fatal error is detected.

kill -SIGABRT 12345
7SIGBUS
Core Dump

Bus error — invalid memory address alignment.

kill -SIGBUS 12345
8SIGFPE
Core Dump

Floating point / arithmetic exception (e.g. division by zero).

kill -SIGFPE 12345
9SIGKILL
TerminateUncatchable

Kill. Force-terminates the process immediately. Cannot be caught or ignored.

kill -9 12345
10SIGUSR1
Terminate

User-defined signal 1. Application-specific meaning.

kill -SIGUSR1 12345
11SIGSEGV
Core Dump

Segmentation fault — invalid memory reference.

kill -SIGSEGV 12345
12SIGUSR2
Terminate

User-defined signal 2. Application-specific meaning.

kill -SIGUSR2 12345
13SIGPIPE
Terminate

Broken pipe — write to pipe with no reader.

Triggered automatically when pipe closes
14SIGALRM
Terminate

Alarm clock. Sent when timer set by alarm() or setitimer() expires.

Used for timeout implementations
15SIGTERM
Terminate

Termination. Default kill signal. Requests graceful shutdown.

kill 12345 (default, same as kill -15)
17SIGCHLD
Ignore

Child stopped or terminated. Sent to parent when child process state changes.

Handled in process supervisors like systemd
18SIGCONT
Continue

Continue. Resume a stopped process.

kill -SIGCONT 12345
19SIGSTOP
StopUncatchable

Stop process. Cannot be caught or ignored. Like Ctrl+Z but programmatic.

kill -SIGSTOP 12345
20SIGTSTP
Stop

Terminal stop (Ctrl+Z). Unlike SIGSTOP, this can be caught.

Ctrl+Z in terminal
21SIGTTIN
Stop

Terminal input for background process — stops reading.

Sent automatically by kernel
22SIGTTOU
Stop

Terminal output for background process — stops writing.

Sent automatically by kernel
23SIGURG
Ignore

Urgent condition on socket — out-of-band data available.

Used in TCP urgent data handling
24SIGXCPU
Core Dump

CPU time limit exceeded (set with ulimit -t).

Triggered automatically by kernel
25SIGXFSZ
Core Dump

File size limit exceeded (set with ulimit -f).

Triggered automatically by kernel
28SIGWINCH
Ignore

Terminal window size changed. Used by ncurses apps to redraw.

Sent when terminal is resized
29SIGIO
Terminate

I/O now possible on a file descriptor.

Used with O_ASYNC socket flags
31SIGSYS
Core Dump

Bad system call. Process made an invalid syscall.

Triggered by seccomp policy violations