【发布时间】:2016-10-27 11:03:31
【问题描述】:
我是一名新的 C++ 程序员,我正在尝试弄清楚父进程和进程是如何工作的。为此,我尝试根据此处的代码创建三个进程。但是,我知道我们应该在每次创建子进程后退出以允许其他子进程,但我不明白在第二个 for 循环中,我们等待(NULL)三次。我们为什么要这样做呢?这是我第一次尝试了解父子进程。如果你也给我一个学习的资源,我会很高兴。谢谢!
int main(){
cout<<" Dad process is "<<getpid()<<endl;
for(int i=0;i<3;i++){
if(fork()==0)
{
cout<<"Son pid "<<getpid()<<" from pid "<<getppid()<<endl;
exit(0);
}
}
for(int i=0;i<3;i++){
wait(NULL);
}
}
`
【问题讨论】:
-
我当然会推荐阅读手册页,但我真的很喜欢 Beej 关于 C、网络和 IPC 的书籍。例如fork
标签: c++ process fork parent multitasking