waitpid函数实例

 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 }

 

你可能感兴趣的:(waitpid函数实例)