#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
pid_t pid1,pid11,pid111, pid2,pid21,pid22;
pid1=fork();
if(pid1=-1){
}else if(pid1==0){
printf("child 1.0 my ppid:%d and my pid: %d",getppid
(),getpid
()); pid11=fork();
if(pid11==0){
printf("child 1.1 my ppid:%d and my pid: %d",getppid
(),getpid
());
pid111=fork();
if(pid111==0){
printf("child 1.1.1 my ppid:%d and my pid: %d",getppid
(),getpid
()); }
}
}else{
pid2=fork();
if(pid2==0){
printf("child 2.0 my ppid:%d and my pid: %d",getppid
(),getpid
()); pid21=fork();
if(pid21==0){
printf("child 2.1 my ppid:%d and my pid: %d",getppid
(),getpid
()); }else{
pid22=fork();
if(pid22==0){
printf("child 2.2 my ppid:%d and my pid: %d",getppid
(),getpid
()); }
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKaW50IG1haW4oKQp7CnBpZF90IHBpZDEscGlkMTEscGlkMTExLCBwaWQyLHBpZDIxLHBpZDIyOwpwaWQxPWZvcmsoKTsKaWYocGlkMT0tMSl7CnByaW50ZigiZXJyb3IiKTsKICAKfWVsc2UgaWYocGlkMT09MCl7CiAgICAgICAgcHJpbnRmKCJjaGlsZCAxLjAgbXkgcHBpZDolZCBhbmQgbXkgcGlkOiAlZCIsZ2V0cHBpZCgpLGdldHBpZCgpKTsKICBwaWQxMT1mb3JrKCk7CiAgaWYocGlkMTE9PTApewogICAgICAgICAgcHJpbnRmKCJjaGlsZCAxLjEgbXkgcHBpZDolZCBhbmQgbXkgcGlkOiAlZCIsZ2V0cHBpZCgpLGdldHBpZCgpKTsKCiAgICBwaWQxMTE9Zm9yaygpOwogICAgaWYocGlkMTExPT0wKXsKICAgICAgcHJpbnRmKCJjaGlsZCAxLjEuMSBteSBwcGlkOiVkIGFuZCBteSBwaWQ6ICVkIixnZXRwcGlkKCksZ2V0cGlkKCkpOwogICAgfQogIH0KICAKfWVsc2V7CiAgcGlkMj1mb3JrKCk7CiAgaWYocGlkMj09MCl7CiAgICAgICAgICBwcmludGYoImNoaWxkIDIuMCBteSBwcGlkOiVkIGFuZCBteSBwaWQ6ICVkIixnZXRwcGlkKCksZ2V0cGlkKCkpOwogICAgcGlkMjE9Zm9yaygpOwogICAgaWYocGlkMjE9PTApewogICAgICAgICAgICBwcmludGYoImNoaWxkIDIuMSBteSBwcGlkOiVkIGFuZCBteSBwaWQ6ICVkIixnZXRwcGlkKCksZ2V0cGlkKCkpOwogICAgfWVsc2V7CiAgICAgIHBpZDIyPWZvcmsoKTsKICAgICAgaWYocGlkMjI9PTApewogICAgICAgICAgICAgIHByaW50ZigiY2hpbGQgMi4yIG15IHBwaWQ6JWQgYW5kIG15IHBpZDogJWQiLGdldHBwaWQoKSxnZXRwaWQoKSk7CiAgICAgIH0KICAgIH0KICB9Cn0KfQ==