#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+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCmludCBtYWluKCkKewoJcGlkX3QgcGlkOwoJaWYocGlkID0gZm9yaygpIDwgMCl7CgkJcHJpbnRmKCJGb3JrIEVycm9yLiEhIVxuIik7Cgl9ZWxzZSB7CgkJaWYocGlkID09IDApewoJCQlpZigocGlkID0gZm9yaygpKSA8IDApewoJCQkJcHJpbnRmKCJGb3JrMiBFcnJvci4hISFcbiIpOwoJCQl9ZWxzZSBpZihwaWQgPiAwKXsKCQkJCXJldHVybiAwOwoJCQl9CgkJCXByaW50ZigiU2Vjb25kIENoaWxkLCBwYXJlbnQgaWQ6ICVkXG4iLCBnZXRwcGlkKCkpOwoJCQlyZXR1cm4gMDsKCQl9Cgl9CglpZih3YWl0cGlkKHBpZCwgTlVMTCwgMCkgIT0gcGlkKXsKCQlwcmludGYoIldhaXRwaWQgRXJyb3IuISEhXG4iKTsKCX0KCXNsZWVwKDIpOwoJcmV0dXJuIDA7Cn0=