C 此代码是否会导致从父进程成功创建两个子进程?
这是我的C代码,用于从父进程创建两个子进程。 这会成功创建吗?我当前的输出是: 您处于id为29509的父进程中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;
您在子进程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)的父进程中)代码>
这些行由父级和子级执行