Linux C 获取进程退出值的实现代码
来源:本站原创|时间:2022-11-25|栏目:C语言|
如以下代码所示:
复制代码 代码如下:
#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: %d\n", exit_code);
}
return 0;
}
参考: "man 2 wait"
您可能感兴趣的文章
- 01-10如何查看进程实际的内存占用情况详解
- 01-10APUE笔记之:进程环境详解
- 01-10显示任何进程加载的DLL文件的代码
- 01-10深入解析Linux下\r\n的问题
- 01-10进程间通信之深入消息队列的详解
- 01-10Linux线程管理必备:解析互斥量与条件变量的详解
- 01-10深入分析父子线程、进程终止顺序不同产生的结果
- 01-10解析Linux下的时间函数:设置以及获取时间的方法
- 01-10深入探讨linux下进程的最大线程数、进程最大数、进程打开的文
- 01-10DHCP:解析开发板上动态获取ip的2种实现方法详解