【发布时间】:2012-02-19 21:42:28
【问题描述】:
我有这个流程图,我要做代码源!!! 请检查是否正确
这是我的解决方案
一)
#include <unistd.h>
int main(void) {
int i;
for (i= 0; i < 3; i++)
{
if(!fork())
break;
}
while(wait(NULL) !==-1);//to avoid the appearance of zombies processes??
第二种解决方案b):
#include <unistd.h>
int main(void) {
int i,pid;
for(i=0; i<3;i++)
{
pid=fork();
if (pid>0)
break;
}
while(wait(NULL)!=-1);
PS:我还必须包含注释以表明我必须在哪里包含将运行每个孩子的“exec”!?
【问题讨论】:
-
为什么这么多“!”和 ”?” ?你的键盘有问题吗?
-
他们都错了。在这两个版本中,子进程都会调用 wait(),这不是你想要的。