#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(void)
{
int fils1=fork();
int fils2,r;
if(fils1== 0){
sleep(2);
printf("fils 1 PID : %d\n",getpid
()); int i=0;
for(i
=0;i
<1;i
++)printf(" %d ",i
); }
else{
fils2=fork();
if(fils2== 0){
waitpid(fils1,&r,NULL);
printf("pid fils 2: %d\n",getpid
()); }
}
wait(NULL);
printf("pid pere : %d\n",getpid
()); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KaW50IG1haW4odm9pZCkKewpwcmludGYoIkJvbmpvdXJcbiIpOwppbnQgZmlsczE9Zm9yaygpOwppbnQgZmlsczIscjsKaWYoZmlsczE9PSAwKXsKc2xlZXAoMik7CnByaW50ZigiZmlscyAxIFBJRCA6ICVkXG4iLGdldHBpZCgpKTsKaW50IGk9MDsKZm9yKGk9MDtpPDE7aSsrKXByaW50ZigiICVkICIsaSk7CnByaW50ZigiXG4iKTsKfQplbHNlewpmaWxzMj1mb3JrKCk7CmlmKGZpbHMyPT0gMCl7CndhaXRwaWQoZmlsczEsJnIsTlVMTCk7CnByaW50ZigicGlkIGZpbHMgMjogJWRcbiIsZ2V0cGlkKCkpOwp9Cn0KCndhaXQoTlVMTCk7CnByaW50ZigicGlkIHBlcmUgOiAlZFxuIixnZXRwaWQoKSk7CnJldHVybiAwOwp9