信号量
| 数字 | 信号 | 描述 |
|---|---|---|
| 1 | HUP | 挂起,用来在终端丢失连接的时候通报 |
| 2 | INT | 中断,当用户点击中断(Ctrl+C)的时候发送 |
| 3 | QUIT | 退出(Ctrl+\),会生成内存转储 |
| 4 | ILL | 执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行数据段. 堆栈溢出时也有可能产生这个信号 |
| 5 | TRAP | 由断点指令或其它trap指令产生,由debugger使用 |
| 6 | ABRT | 通过C函数abort()发送,为assert()使用 |
| 7 | BUS | 非法地址, 包括内存地址对齐(alignment)出错。比如访问一个四个字长的整数, 但其地址不是4的倍数。它与SIGSEGV的区别在于后者是由于对合法存储地址的非法访问触发的(如访问不属于自己存储空间或只读存储空间) |
| 8 | FPE | 在发生致命的算术运算错误时发出,不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误 |
| 9 | KILL | 迅速完全终止进程,不能被捕获,本信号不能被阻塞、处理和忽略 |
| 10 | USR1 | 用户定义的信号1 |
| 11 | SEGV | 试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据 |
| 12 | USR2 | 用户定义的信号2 |
| 13 | PIPE | 管道破裂。这个信号通常在进程间通信产生,比如采用FIFO(管道)通信的两个进程,读管道没打开或者意外终止就往管道写,写进程会收到SIGPIPE信号。此外用Socket通信的两个进程,写进程在写Socket的时候,读进程已经终止 |
| 14 | ALRM | 时钟定时信号, 计算的是实际的时间或时钟时间。alarm函数使用该信号 |
| 15 | TERM | 常规的终止进程,可以被阻塞和处理 |
| 16 | STKFLT | (TODO) |
| 17 | CHLD | 一个子进程刚刚终止或者改变状态 |
| 18 | CONT | 用SIGSTOP终止后继续运行 |
| 19 | STOP | 中断进程,不能被捕获(Ctrl+Z) |
| 20 | TSTP | 中断进程,可以被捕获 |
| 21 | TTIN | 当后台作业要从用户终端读数据时, 该作业中的所有进程会收到SIGTTIN信号。缺省时这些进程会停止执行 |
| 22 | TTOU | 类似于SIGTTIN, 但在写终端(或修改终端模式)时收到 |
| 23 | URG | 有"紧急"数据或out-of-band数据到达socket时产生 |
| 24 | XCPU | CPU超时,这个限制可以由getrlimit/setrlimit来读取/改变 |
| 25 | XFSZ | 文件大小超过限度 |
| 26 | VTALRM | 虚拟时钟信号。类似于SIGALRM, 但是计算的是该进程占用的CPU时间 |
| 27 | PROF | 类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的时间 |
| 28 | WINCH | 窗口大小改变时发出 |
| 29 | POLL | (IO)文件描述符准备就绪, 可以开始进行输入/输出操作 |
| 30 | PWR | Power failure |
| 31 | SYS | 非法的系统调用 |
killall 杀死同一进程组内的所有进程,允许指定要终止的进程的名称,而非pid









网友评论