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) { //子进程结束执行 }