【发布时间】:2021-07-09 00:14:52
【问题描述】:
int main()
{
int i;
int status;
for (i = 0; i < 4; i++) {
if(fork() == 0){
sleep(1);
}
}
printf("This is the end.\n");
return 0;
}
我需要更改代码,以便创建 4 个子进程。我已经尝试了一些方法,但我不知道该怎么做。
【问题讨论】:
-
在
sleep之后添加return 0或exit(0)。 -
记住:当您使用
fork()克隆自己时,您的程序会继续运行,就好像它不是克隆一样。您必须阻止您的克隆创建额外的克隆。 -
@ggorlen 我在循环中尝试了 exit(0),我没有想到 break,我还认为我需要使用 status 变量来完成它,所以我尝试将 fork 返回到 status 和用它做某事。