|No.||Short name||What it means|
|1||SIGHUP||This signal disconnects a process from the parent process. If a process is being run from terminal and that terminal suddenly goes away then the process receives this signal. “HUP” is short for “hang up” and refers to hanging up the telephone in the days of telephone modems. This an also be used to restart processes. For example, “killall -SIGUP test” will restart test. This is useful for daemons with memory leaks.|
|2||SIGINT||The process was “interrupted”. This happens when you press Control+C on the controlling terminal. On some systems, “delete” + “break” sends the same signal to the process. The process is interrupted and stopped. However, the process can ignore this signal.|
|3||SIGQUIT||This is like SIGINT with the ability to make the process produce a core dump. Ctrl-\ sends a QUIT signal. The SIGQUIT signal is sent to a process by its controlling terminal when the user requests that the process quit and perform a core dump.|
|4||SIGILL||Illegal instruction. The program contained some machine code the CPU
can’t understand. When a process performs a faulty, forbidden, or unknown function, the system sends the SIGILL signal to the process. This is the ILLegal SIGnal.
|5||SIGTRAP||This signal is used for debugging purposes. When a process has performed an action or a condition is met that a debugger is waiting for, this signal will be sent to the process.|
|6||SIGABRT||The program called the abort() function. This is an emergency stop. This kill signal is the abort signal. Typically, a process will initiate this kill signal on itself.|
|7||SIGBUS||An attempt was made to access memory incorrectly. When a process is sent the SIGBUS signal, it is because the process caused a bus error. Commonly, these bus errors are due to a process trying to use fake physical addresses or the process has its memory alignment set incorrectly.|
|8||SIGFPE||A floating point exception happened in the program. Processes that divide by zero are killed using SIGFPE.|
|9||SIGKILL||The process was explicitly killed by somebody wielding the kill program. The SIGKILL signal forces the process to stop executing immediately. The program cannot ignore this signal. This process does not get to clean-up either.|
|10||SIGUSR1||Left for the programmers to do whatever they want. This indicates a user-defined condition. This signal can be set by the user by programming the commands in sigusr1.c. This requires the programmer to know C/C++.|
|11||SIGSEGV||An attempt was made to access memory not allocated to the process. This is often caused by reading off the end of arrays etc. When an application has a segmentation violation, this signal is sent to the process.|
|12||SIGUSR2||This indicates a user-defined condition. Left for the programmers to do whatever they want.|
|13||SIGPIPE||When a process tries to write to a pipe that lacks an end connected to a reader, this signal is sent to the process. A reader is a process that reads data at the end of a pipe. If a process is producing output that is being fed into another process that consume it via a pipe (“producer | consumer”) and the consumer dies then the producer is sent this signal.|
|14||SIGALRM||SIGALRM is sent when the real time or clock time timer expires.. A process can request a “wake up call” from the operating system at some time in the future by calling the alarm() function. When that time comes round the wake up call consists of this signal.|
|15||SIGTERM||This signal requests a process to stop running. This signal can be ignored. The process is given time to gracefully shutdown. When a program gracefully shuts down, that means it is given time to save its progress and release resources. In other words, it is not forced to stop. SIGINT is very similar to SIGTERM.
The process was explicitly killed by somebody wielding the kill
|17||SIGCHLD||When a parent process loses its child process, the parent process is sent the SIGCHLD signal. This cleans up resources used by the child process. In computers, a child process is a process started by another process know as a parent. The process had previously created one or more child processes with the
fork() function. One or more of these processes has since died.
|18||SIGCONT||(To be read in conjunction with SIGSTOP.)
If a process has been paused by sending it SIGSTOP then sending
SIGCONT to the process wakes it up again (“continues” it). This is the CONTinue SIGnal. This signal is beneficial to Unix job control (executing background tasks).
|19||SIGSTOP||(To be read in conjunction with SIGCONT.)
If a process is sent SIGSTOP it is paused by the operating system. All its state is preserved ready for it to be restarted (by SIGCONT) but it doesn’t get any more CPU cycles until then. The process cannot ignore the signal.
|20||SIGTSTP||Essentially the same as SIGSTOP. This is the signal sent when the user hits Control+Z on the terminal. (SIGTSTP is short for “terminal stop”) The only difference between SIGTSTP and SIGSTOP is that pausing is only the default action for SIGTSTP but is the required action for SIGSTOP. The process can opt to handle SIGTSTP differently but gets no choice regarding SIGSTOP. This makes a request to the terminal containing the process to ask the process to stop temporarily. The process can ignore the request.|
|21||SIGTTIN||The operating system sends this signal to a process when it tries to read input from tty (computer terminal). The typical response is to pause (as per SIGSTOP and SIFTSTP) and wait for the SIGCONT that arrives when the process is brought back to the foreground.|
|22||SIGTTOU||The operating system sends this signal to a process when it tries to write output to tty (computer terminal). The typical response is as per SIGTTIN.|
|23||SIGURG||The operating system sends this signal to a process using a network connection when “urgent” out of band data is sent to it. When a process has urgent data to be read or the data is very large, the SIGURG signal is sent to the process.|
|24||SIGXCPU||The operating system sends this signal to a process that has exceeded its CPU limit. You can cancel any CPU limit with the shell command “ulimit -t unlimited” prior to running make though it is more likely that something has gone wrong if you reach the CPU limit in make. When a process uses the CPU past the allotted time, the system sends the process this signal. SIGXCPU acts like a warning; the process has time to save the progress (if possible) and close before the system kills the process with SIGKILL.|
|25||SIGXFSZ||Filesystems have a limit to how large a file can be made. The operating system sends this signal to a process that has tried to create a file above the file size limit. You can cancel any file size limit with the shell command “ulimit -f unlimited” prior to running make though it is more likely that something has gone wrong if you reach the file size limit in make.|
|26||SIGVTALRM||SIGVTALRM is sent when CPU time used by the process elapses. This is very similar to SIGALRM, but while SIGALRM is sent after a certain amount of real time has passed, SIGVTALRM is sent after a certain amount of time has been spent running the process.|
|27||SIGPROF||Sent when CPU time used by the process and by the system on behalf of the process elapses. This is also very similar to SIGALRM and SIGVTALRM, but while SIGALRM is sent after a certain amount of real time has passed, SIGPROF is sent after a certain amount of time has been spent running the process
and running system code on behalf of the process.
|28||SIGWINCH||A process used to be sent this signal when one of its windows was resized. When a process is in a terminal that changes its size.|
|29||SIGIO||(Also known as SIGPOLL) When a process causes an asynchronous I/O event, that process is sent the SIGPOLL signal. A process can arrange to have this signal sent to it when there is some input ready for it to process or an output channel has become ready for writing.|
|30||SIGPWR||Power failures will cause the system to send this signal to processes (if the system is still on). A signal sent to processes by a power management service to indicate that power has switched to a short term emergency power supply. The process (especially long-running daemons) may care to shut down cleanlt before the emergency power fails.|
|31||SIGSYS||Processes that give a system call an invalid parameter will receive this signal. Terminate the process (without a core dump). SIGUNUSED is synonymous with SIGSYS on most architectures.|