Linux C 获取进程退出值的实现代码
Linux C 获取进程退出值的实现代码
发布时间:2016-12-28 来源:查字典编辑
摘要:如以下代码所示:复制代码代码如下:#include#include#include#include#include#include#incl...

如以下代码所示:

复制代码 代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <sys/types.h>

#include <sys/wait.h>

#include <unistd.h>

#include <errno.h>

int main(int argc, char *argv[])

{

pid_t pid;

int stat;

int exit_code;

pid = fork();

if(pid == 0)

{

sleep(3);

exit(5);

}

else if( pid < 0 )

{

fprintf(stderr, "fork failed: %s", strerror(errno));

return -1;

}

wait(&stat);// 等待一个子进程结束

if(WIFEXITED(stat))// 如果子进程通过 return, exit, _exit 正常结束, WIFEXITED() 返回 true

{

exit_code = WEXITSTATUS(stat);

printf("child's exit_code: %dn", exit_code);

}

return 0;

}

参考: "man 2 wait"

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C语言学习
热门C语言学习
编程开发子分类