慕码人8056858
不能等待子进程的子进程用下面一段程序测一下就知道了:#include <stdio.h>#include <stdlib.h>int main(){pid_t pid = fork();switch(pid){case -1:perror("fork failed");exit(1);case 0:{pid = fork();if(pid == -1){perror("fork failed");exit(1);}else if(pid == 0){sleep(2);printf("第三个进程pid为:%d\n", getpid());sync();exit(0);}else{sleep(10);printf("第二个进程收到%d\n", wait(NULL));exit(0);}}default:printf("第一个进程pid为:%d\n", getpid());printf("第二个进程pid为:%d\n", pid);printf("第一个进程收到%d\n", wait(NULL));printf("第一个进程收到%d\n", wait(NULL));sync();break;}return 0;}