Kernel Signals

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
program.
16 unused
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.

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s