int flag = 1;
int main()
{
pid_t pid;
do{
pid = fork();
if (pid == 0)//process of child
{
if (.....)
{
.......................;
........................;
}
else
{
flag = 0;
}
}
if (pid > 0)//process of father
{
...........................;
}
}while (flag);
return 0;
}
把代码简短成只剩主要框架了。
问题一看就很明白了,父进程永远也退不出循环的
子进程对FLAG的改变对父进程是无效的!