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 + -
显示快捷键?