The signals of UNIX/Linux systems:
|Signal|Description|
|SIGABRT|由调用 abort 函数产生,进程非正常退出|
|SIGALRM|用 alarm 函数设置的 timer 超时或 setitimer 函数设置的 interval timer 超时|
|SIGBUS|某种特定的硬件异常,通常由内存访问引起|
|SIGCANCEL|由 Solaris Thread Library 内部使用,通常不会使用|
|SIGCHLD|进程 Terminate 或 Stop 的时候, SIGCHLD 会发送给它的父进程。缺省情况下该 Signal 会被忽略|
|SIGCONT|当被 Stop 的进程恢复运行的时候,自动发送|
|SIGEMT|和实现相关的硬件异常|
|SIGFPE|数学相关的异常,如被 0 除,浮点溢出,等等|
|SIGFREEZE|Solaris 专用,Hiberate 或者 Suspended 时候发送|
|SIGHUP|发送给具有 Terminal 的 Controlling Process,当 Terminal 被 disconnect 时候发送|
|SIGILL|非法指令异常|
|SIGINFO|BSD signal。由 Status Key 产生,通常是 CTRL+T。发送给所有 Foreground Group 的进程|
|SIGINT|由 Interrupt Key 产生,通常是 CTRL+C 或者 DELETE 。发送给所有 ForeGround Group 的进程|
|SIGIO|异步 I/O 事件|
|SIGIOT|实现相关的硬件异常,一般对应 SIGABRT|
|SIGKILL|无法处理和忽略。中止某个进程|
|SIGLWP|由 Solaris Thread Libray 内部使用|
|SIGPIPE|在 reader 中止之后写 Pipe 的时候发送|
|SIGPOLL|当某个事件发送给 Pollable Device 的时候发送|
|SIGPROF|setitimer 指定的 Profiling Interval Timer 所产生|
|SIGPWR|和系统相关。和 UPS 相关。|
|SIGQUIT|输入 Quit Key 的时候(CTRL+\)发送给所有 Foreground Group 的进程|
|SIGSEGV|非法内存访问|
|SIGSTKFLT|Linux 专用,数学协处理器的栈异常|
|SIGSTOP|中止进程。无法处理和忽略。|
|SIGSYS|非法系统调用|
|SIGTERM|请求中止进程,kill 命令缺省发送|
|SIGTHAW|Solaris 专用,从 Suspend 恢复时候发送|
|SIGTRAP|实现相关的硬件异常。一般是调试异常|
|SIGTSTP|Suspend Key,一般是 Ctrl+Z 。发送给所有 Foreground Group 的进程|
|SIGTTIN|当 Background Group 的进程尝试读取 Terminal 的时候发送|
|SIGTTOU|当 Background Group 的进程尝试写 Terminal 的时候发送|
|SIGURG|当 out-of-band data 接收的时候可能发送|
|SIGUSR1|用户自定义 signal 1|
|SIGUSR2|用户自定义 signal 2|
|SIGVTALRM|setitimer 函数设置的 Virtual Interval Timer 超时的时候|
|SIGWAITING|Solaris Thread Library 内部实现专用|
|SIGWINCH|当 Terminal 的窗口大小改变的时候,发送给 Foreground Group 的所有进程|
|SIGXCPU|当 CPU 时间限制超时的时候|
|SIGXFSZ|进程超过文件大小限制|
|SIGXRES|Solaris 专用,进程超过资源限制的时候发送|