Linux进程终结状态码

原文链接:https://blog.csdn.net/halfclear/article/details/72783900

linux系统下,进程对信号的默认响应方式有5种:

  • 忽略信号,即当做没收到信号一样;
  • 终止进程;
  • 产生核心转储文件,同时进程终止;
  • 停止进程,即暂停进程的执行;
  • 于之前的暂停之后恢复执行;

 处理方式2和3都会导致进程终止执行并立即退出,处理方式1、4、5不会造成进程终止执行。因此,可以将信号粗略的分为两类,一类是会导致进程终止并退出的信号;另一类则是不会导致进程终止并退出的信号。

 当进程因收到信号被终止执行退出后,父进程可以通过调用wait或waitpid得到它的exit code。进程被各信号终止的退出状态码总结如下:

file

进一步总结如下:

  1. 能使进程被终止执行并产生core dump的信号,它的退出状态码是信号编号+128,比如SIGQUIT信号,它的编号为3,进程收到该信号后会core dump,退出状态码为3+128=131;

  2. 只是使进程被终止,而不会产生core dump的信号,它的退出状态码就是信号本身的编号。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据