进程控制---子进程终止状态相关的宏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程控制---子进程终止状态相关的宏相关的知识,希望对你有一定的参考价值。
前面笔记中提到了无论子进程是 正常终止 还是 异常终止,父进程都可以通过 wait 函数或者waitpid 函数来获取到其 终止状态。但是 正常终止 和 异常终止 父进程所获得的信息是不同的,正常终止时父进程收到的是 子进程 中exit的参数,而异常终止 时父进程收到的是 导致子进程异常终止的 信号 编号值。
正常终止返回给父进程的状态值 和 异常终止时传递给父进程的信号值 是存放在 wait 或者 waitpid 函数的参数 status 所指向内存的不同位上的。要是父进程想知道 子进程是正常终止 还是 异常终止的,就可以通过判断 对应位上是否有值来确定。
Linux系统提供了几种宏来实现:
- WIFEXITED(status):测试是否是正常退出
- WEXITSTATUS(status):获取子进程的终止状态值
- WIFSIGNALED(status):测试是否异常退出
- WTERMSIG(status):获取导致子进程异常终止的信号编号值
以上是关于进程控制---子进程终止状态相关的宏的主要内容,如果未能解决你的问题,请参考以下文章