linux----8--9--父进程等待子进程的退出

我们创建子进程的原因是什么?是让子进程帮助我们来“干活”,比如在fork之后,我们创建了一个子进程,它会执行一段我们想让它执行的代码,而不会影响父进程

介绍一个概念,
僵尸进程:如果子进程先于父进程退出, 同时父进程又没有调用wait/waitpid来收集exit的状态,则该子进程将成为僵尸进程。通过ps   - aux|grep   a.out命令,我们可以看到该进程的状态为Z(表示僵死)。

总之,父进程还收集子进程的退出状态,当子进程结束后,要返回一个反馈给父进程。让父进程知道这个子进程结束任务了(正常退出)

通过在父进程调用wait()来收集子进程的退出状态,这时是子进程先打,直到结束,才父进程打(等待子进程结束),此时子进程为s 而不是z(僵死进程)

如代码如下

int main(){
   pid_t pyd;
  int data;
  int cnd;
  pyd =fork();
      // printf("cnd  data is:  %d\n",cnd);   
      if(pyd>0){
              wai

你可能感兴趣的:(linux,c#,linux)