fork子进程执行等待结束代码

 pid_t childpid;
                  int nRet = 0;
                  if( (childpid =fork()) == 0)
                    {

                       exit(0);
                     }
                    else if(childpid == -1)
                     {
                      nRet = -1;
                
                      }  
                   int status = 0;
                   for(;;){
                      int rpid =waitpid(childpid,&status,0);
                       if(rpid ==childpid)
                        {
                          int rc =WEXITSTATUS(status);
                          if( rc != 0)
                             nRet = rc;
                         }
                         else
  
                             {
                           
                            nRet = -1;
                           }
                           break;
                  }
                  if(0 == nRet)
                  {
                    //子进程结束执行
}

  

猜你喜欢

转载自www.cnblogs.com/hshy/p/13378654.html