1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #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==
-
upload with new input
-
result: Success time: 0.01s memory: 2680 kB returned value: 0
Second Child, parent id: 1


