- 论坛徽章:
- 0
|
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/wait.h>
int main()
{
int status, result=0;
pid_t pid, pr;
pid = fork();
if(pid == 0){
printf("I am child!\n");
sleep(6);
exit(3);
}
else if(pid > 0){
pr = wait(&status);
result = WIFEXITED(status);
printf("I am parent!\n");
}
else
printf("errro!\n");
printf("RESULT=%d\n", result);
exit(0);
}
这个程序执行后 RESULT=1 但是我认为RESULT的值应该是3呀 WIFEXITED收集子进程的返回值, 子进程exit(3)返回3, 不是这样吗 |
|