【发布时间】:2015-03-03 21:06:17
【问题描述】:
你能帮我解决这个问题吗?我对进程的创建有点困惑,我认为创建的进程数是 7,对吗?
int main(){
pid_t pid;
int i;
for (i = 0; i < 3; i++){
pid = fork();
if(pid > 0){
printf("I'm father\n");
}else{
sleep(1);
}
}
return 0;
}
【问题讨论】:
-
为什么你会认为它是 7?提示
man fork -
@KevinDTimm 既然是正确答案,他为什么不认为是 7? :)
-
我的想法是它是 4:父级(每次迭代的非零回报)和 3 个子级,在循环的每次迭代中创建一个。但是,在下面查看@John 的答案,我发现我可能需要更新我的想法。