C 此代码是否会导致从父进程成功创建两个子进程?

C 此代码是否会导致从父进程成功创建两个子进程?,c,fork,C,Fork,这是我的C代码,用于从父进程创建两个子进程。 这会成功创建吗?我当前的输出是: 您处于id为29509的父进程中 您在子进程1中,您的父id为29509 您处于id为29511的父进程中 您处于子进程2中,并且您的父id为29509 为什么在我输出的第三行中,父id不同 #include<stdio.h> #include<unistd.h> int main(){ pid_t child1,child2;

这是我的C代码,用于从父进程创建两个子进程。 这会成功创建吗?我当前的输出是:

您处于id为29509的父进程中
您在子进程1中,您的父id为29509
您处于id为29511的父进程中
您处于子进程2中,并且您的父id为29509

为什么在我输出的第三行中,父id不同

    #include<stdio.h>
    #include<unistd.h>
    int main(){
            pid_t child1,child2;
            int c,d,e;
            child1=fork();
            if(child1==0){
                    c=getppid();
                    printf("you are in child process 1 and your parent id is %d\n",c);

            }
            else{
                    child2=fork();
                    e=getpid();
                    printf("You are in parent process whose id is %d\n",e);
            }
            if(child2==0){
                    d=getppid();
                    printf("you are in child process 2 and your parent id is %d\n",d);
            }
    }

在第二个
fork
之后,父进程和第二个子进程都执行“父进程”
printf

e=getpid();
printf(“您处于id为%d\n”,e)的父进程中)

这些行由父级和子级执行