Я учусь генерировать процесс в Linux, используя метод C ++ fork()
. Когда я попытался распечатать их pid с ChildA, B, C, я создал. Это распечатать в два раза. Если я хочу, чтобы они печатались только один раз, как я могу изменить код.
Я попытался поставить счетчик под командой печати. Когда он распечатывается один раз, он должен остановиться и больше не печатать снова.
child_C=fork();
if(Child_C==0){
//do some function here;
}else{
child_B=fork();
if(Child_B==0){
//do some function here;
}else{
child_A=fork();
if(x==0){
cout<<"i am child A" << child_A << "\n";
cout<<"i am child B" << child_B << "\n";
cout<<"i am child C" << child_C << "\n";
x++;
}
if(Child_A==0){
//do some function here;
}else{
//do some function here;
}
}
}
Я ожидаю выхода:
i am child A 123
i am child B 234
i am child C 345
но распечатывает:
i am child A 123
i am child B 234
i am child C 345
i am child A 0
i am child B 234
i am child C 345