p6-10.c
来自「SUN Solaris8平台下进程间通信」· C语言 代码 · 共 25 行
C
25 行
#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 + =
减小字号Ctrl + -
显示快捷键?