#include<stdio.h>
#include<sys/wait.h>
#include<stdlib.h>
#include <unistd.h>
int main()
{
pid_t pid;
if((pid = fork()) < 0){
printf("Fork Error.!!!\n");
}else {
if(pid == 0){
if((pid = fork()) < 0){
printf("Fork2 Error.!!!\n");
}else if(pid > 0){
return 0;
}
printf("Second Child, parent id: %d\n", getppid());
return 0;
}
}
if(waitpid(pid, NULL, 0) != pid){
printf("Waitpid Error.!!!\n");
}
sleep(2);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4gICAKI2luY2x1ZGU8c3lzL3dhaXQuaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCmludCBtYWluKCkKewoJcGlkX3QgcGlkOwoJaWYoKHBpZCA9IGZvcmsoKSkgPCAwKXsKCQlwcmludGYoIkZvcmsgRXJyb3IuISEhXG4iKTsKCX1lbHNlIHsKCQlpZihwaWQgPT0gMCl7CgkJCWlmKChwaWQgPSBmb3JrKCkpIDwgMCl7CgkJCQlwcmludGYoIkZvcmsyIEVycm9yLiEhIVxuIik7CgkJCX1lbHNlIGlmKHBpZCA+IDApewoJCQkJcmV0dXJuIDA7CgkJCX0KCQkJcHJpbnRmKCJTZWNvbmQgQ2hpbGQsIHBhcmVudCBpZDogJWRcbiIsIGdldHBwaWQoKSk7CgkJCXJldHVybiAwOwoJCX0KCX0KCWlmKHdhaXRwaWQocGlkLCBOVUxMLCAwKSAhPSBwaWQpewoJCXByaW50ZigiV2FpdHBpZCBFcnJvci4hISFcbiIpOwoJfQoJc2xlZXAoMik7CglyZXR1cm4gMDsKfQ==