Это мой код C для создания двух дочерних процессов из родительского процесса. Будет ли это успешно создано? Мой выходной ток:приведет ли этот код к успешному созданию двух дочерних процессов из родительских процессов?
Вы в родительском процессе которого идентификатор 29509
вы в детском процессе 1 и ваш родительский идентификатор 29509
Вы в родительском процессе которого идентификатор 29511
вы находитесь в дочерний процесс 2 и ваш родительский идентификатор - 29509
Почему в третьей строке моего вывода родительский идентификатор отличается?
#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);
}
}
Выход
You are in parent process whose id is 29509
you are in child process 1 and your parent id is 29509
You are in parent process whose id is 29511
you are in child process 2 and your parent id is 29509