0
У меня есть несколько процессов для создания. Каждый сын должен создать двух сыновей. Я использовал рекурсивное решение, оно работает, но число созданных процессов не то, что я хочу.Как я могу создать «двоичное дерево процессов»?
Это то, что я пробовал:
void generate_kid(int g, int res){
pid_t kid1, kid2;
int status1, status2;
if(res > 0){
if(kid1 = fork()){
if(res > 0){
if(kid2 = fork()){
}
else {
printf("I am %d, my father is %d\n",getpid(),getppid());
generate_kid(g,res/2-1);
}
}
}
else {
printf("I am %d, my father is %d\n",getpid(),getppid());
generate_kid(g,res/2-1);
}
}
waitpid(kid1,&status1,0);
waitpid(kid2,&status2,0);
}
Показать, что вы пробовали и кто-то будет пытаться помочь вам. Мы не пишем для вас код здесь. – Barmar
извините! это был мой первый вопрос! –
Сколько процессов вы планируете создать, и сколько вы получаете вместо этого? – Barmar