先会运行子进程 检测到了exit(3)返回参数3
再运行父进程
子进程会变成僵尸进程
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
int main(){
pid_t pid;
int cnt = 0;
int status = 10;
pid = fork();
if(pid > 0){
wait(&status);//返回exit(3)的参数
printf("child quit,child staus = %d\n",WEXITSTATUS(status));
while(1){
printf("cnt = %d\n",cnt);
printf("father pid = %d\n",getpid());
sleep(1);
}
}else if(pid == 0){
while(1){
printf("child pid = %d\n",getpid());
sleep(1);
cnt++;
if(cnt == 3){
exit(3);
}
}
}
}