家长应该收到有关孙子工作完成的信息

问题描述:

标题说明了一切。我正在学习操作系统,我想用C编程语言编写一个代码,Parent应该会收到有关完成孙子工作的信息。我该怎么做,用等待家长应该收到有关孙子工作完成的信息

代码将有关子作业完成的信息返回给父项。我想和孙子做同样的事情。

这是我到目前为止已经试过:

int main(int argc, char * argv[]){ 
    pid_t child, rv; 
    int st;  
    child = fork(); 
    if(child == 0){ 
     sleep(5); 
     return 5; 
    }  
    printf("Child PID = %ld\n", (long)child); 
    rv = wait(&st);  
    printf("wait() = %ld\nst = %x\n", (long)rv, st); 
    printf("Child exit code = %d\n", WEXITSTATUS(st)); 
    return 0; 

} 
+0

你真的是指父母和*盛大的孩子,而不仅仅是父母和孩子吗?你到目前为止尝试过什么?它是如何工作,或不工作?请花一些时间[阅读如何提出好问题](http://*.com/help/how-to-ask),并学习如何创建[最小,完整和可验证示例](http:/ /*.com/help/mcve)。 –

让拨打我们的流程如下:

t1 - Parent process 
t2 - Child process 
t3 - Grandchild process 

这样做将是以下流方式:

  1. t1创建子进程t2
  2. t1等待子进程t2退出状态

现在,父t1进程受阻,等待子进程t2结束。

  1. 使子进程t2创建自己的子进程t3
  2. t2等待子进程t3

现在t3运行,完成并返回退出状态为父t2t2将运行并将该状态返回给其父母t1。这样,您将t3的退出状态一直传播到t1