zl程序教程

您现在的位置是:首页 >  后端

当前栏目

LinuxC获取进程退出值的实现代码

进程代码 实现 获取 linuxc 退出
2023-06-13 09:15:00 时间
如以下代码所示:
复制代码代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
#include<errno.h>
intmain(intargc,char*argv[])
{
 pid_tpid;
 intstat;
 intexit_code;

 pid=fork();
 if(pid==0)
 {
  sleep(3);
  exit(5);
 }
 elseif(pid<0)
 {
  fprintf(stderr,"forkfailed:%s",strerror(errno));
  return-1;
 }

 wait(&stat); //等待一个子进程结束
 if(WIFEXITED(stat)) //如果子进程通过return,exit,_exit正常结束,WIFEXITED()返回true
 {
  exit_code=WEXITSTATUS(stat);
  printf("child"sexit_code:%d\n",exit_code);
 }

 return0;
}

参考: "man2wait"