信号量
数字 | 信号 | 描述 |
---|---|---|
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
网友评论