UNIX/Linux: Signals
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 专用,进程超过资源限制的时候发送 |