1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<sys/types.h> 4 #include<sys/wait.h> 5 #include<unistd.h> 6 int main(void) 7 { 8 pid_t pc,pr; 9 if((pc=fork())==-1) 10 { 11 printf("failed to create a new process\n"); 12 exit(0); 13 } 14 else if(pc==0) 15 { 16 sleep(10); 17 exit(0); 18 } 19 20 21 do { 22 pr=waitpid(pc,NULL,WNOHANG); 23 if(pr==0) 24 { 25 printf("No child exited\n"); 26 sleep(1); 27 } 28 }while(pr==0); 29 30 if(pr==pc) 31 { 32 printf("successfully get child %d\n",pr); 33 } 34 else 35 { 36 printf("some error occured\n"); 37 } 38 return 0; 39 }
时间: 2024-10-12 05:50:43