进程控制---子进程终止状态相关的宏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程控制---子进程终止状态相关的宏相关的知识,希望对你有一定的参考价值。

  前面笔记中提到了无论子进程是 正常终止 还是 异常终止,父进程都可以通过 wait 函数或者waitpid 函数来获取到其 终止状态。但是 正常终止 和 异常终止 父进程所获得的信息是不同的,正常终止时父进程收到的是 子进程 中exit的参数,而异常终止 时父进程收到的是 导致子进程异常终止的 信号 编号值。
 
  正常终止返回给父进程的状态值 和 异常终止时传递给父进程的信号值 是存放在 wait 或者 waitpid 函数的参数 status 所指向内存的不同位上的。要是父进程想知道 子进程是正常终止 还是 异常终止的,就可以通过判断 对应位上是否有值来确定。
 
Linux系统提供了几种宏来实现:
  • WIFEXITED(status):测试是否是正常退出
    • WEXITSTATUS(status):获取子进程的终止状态值
  • WIFSIGNALED(status):测试是否异常退出
    • WTERMSIG(status):获取导致子进程异常终止的信号编号值

以上是关于进程控制---子进程终止状态相关的宏的主要内容,如果未能解决你的问题,请参考以下文章

进程控制---wait 和 waitpid 函数详解

[APUE]进程控制(中)

Linux-进程控制

Linux - 进程控制(创建和终止)

进程控制概念简介 多线程上篇

操作系统 王道考研2019 第二章:进程管理 -- 进程的状态和转换进程控制进程通信