网站过度优化seo推广培训班
当进程因收到信号被终止执行退出后,父进程可以通过wait或waitpid得到它的exit code。
进程被各信号终止的退出状态码总结如下:
信号编号  | 信号名称  | 信号描述  | 默认处理方式  | Exit code  | 
1  | SIGHUP  | 挂起  | 终止  | 1  | 
2  | SIGINT  | 终端中断  | 终止  | 2  | 
3  | SIGQUIT  | 终端退出  | 终止、coredump  | 131  | 
4  | SIGILL  | 非法指令  | 终止、coredump  | 132  | 
5  | SIGTRAP  | 跟踪/断点陷进  | 终止、coredump  | 133  | 
6  | SIGABRT  | 终止进程  | 终止、coredump  | 134  | 
7  | SIGBUS  | Bus error  | 终止、coredump  | 135  | 
8  | SIGFPE  | 算术异常  | 终止、coredump  | 136  | 
9  | SIGKILL  | 杀死进程(必杀)  | 终止  | 9  | 
10  | SIGUSR1  | 用户自定义信号1  | 终止  | 10  | 
11  | SIGSEGV  | 段错误  | 终止、coredump  | 139  | 
12  | SIGUSR2  | 用户自定义信号2  | 终止  | 12  | 
13  | SIGPIPE  | 管道断开  | 终止  | 13  | 
14  | SIGALRM  | 定时器信号  | 终止  | 14  | 
15  | SGITERM  | 终止进程  | 终止  | 15  | 
16  | SIGSTKFLT  | 栈错误  | 终止  | 16  | 
17  | SIGCHLD  | 子进程退出  | 忽略  | 无  | 
18  | SIGCONT  | 继续执行  | 若停止则继续执行  | 无  | 
19  | SIGSTOP  | 停止执行(必停)  | 暂停执行  | 无  | 
20  | SIGTSTP  | 停止  | 暂停执行  | 无  | 
21  | SIGTTIN  | Stopped(tty input)  | 暂停执行  | 无  | 
22  | SIGTOUT  | Stopped(tty output)  | 暂停执行  | 无  | 
23  | SIGURG  | io紧急数据  | 忽略  | 无  | 
24  | SIGXCPU  | 突破对CPU的时间限制  | 终止、coredump  | 152  | 
25  | SIGXFSZ  | 突破对文件大小的限制  | 终止、coredump  | 153  | 
26  | SIGVTALRM  | 虚拟定时器超时  | 终止  | 26  | 
27  | SIGPROF  | 性能分析定时器超时  | 终止  | 27  | 
28  | SIGWINCH  | 终端窗口尺寸发生变化  | 忽略  | 无  | 
29  | SIGIO  | io时可能产生  | 终止  | 29  | 
30  | SIGPWR  | 电量即将耗尽  | 终止  | 30  | 
31  | SIGSYS  | 错误的系统调用  | 终止、coredump  | 159  | 
34~64  | SIGRTMIN~ SIGRTMAX  | 实时信号  | 终止  | 34~64  | 
总结
能使进程被终止并产生coredump的信号,进程退出状态码为:信号编号 + 128。如:SIGQUIT信号,它的编码为3,则进程的退出状态码为:131(3 + 128)。
只能使进程终止而不会产生coredump的信号,进程的退出状态码为信号编号本身。
