#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(void)
{
pid_t pid;
switch (pid = fork()) {
case -1:
perror("fork");
break;
case 0: /*第一个子进程*/
switch (fork()) {
case -1:
perror("fork2");
break;
case 0: /*第二个子进程*/
sleep(2);
printf("In second child; PPID = %ld\n", (long)getppid());
_exit(0);
default:
_exit(0);
}
_exit(0);
default:
if (waitpid (pid, NULL, 0) == -1)
perror("waitpid");
break;
}
return (0);
}
beyes@linux-beyes:~/C/base/fork> In second child; PPID = 1 |
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |