📄 p6-10.c
字号:
#include <sys/wait.h>#include "err_exit.h"int main(void){ pid_t pid; if ((pid = fork()) < 0) err_exit("fork error"); else if (pid == 0) { /* 第一个子进程 */ /* 再次派生子进程 */ if ((pid = fork()) < 0) err_exit("fork error "); else if (pid > 0) exit(EXIT_SUCCESS); /* 终止第一次派生的子进程 */ /* 我是第二个子进程.当我的父进程执行exit后,我被init继承. */ sleep(2); /* 在此做需子进程做的实际工作 */ printf("second chile, parent pid = %d\n",getppid()); exit(EXIT_SUCCESS); } /* 等待第一个子进程 */ if (waitpid(pid, NULL, 0) != pid) err_exit("waitpid error"); printf(" parent exit\n"); exit(EXIT_SUCCESS);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -