fork函数机制十分难以理解,尤其涉及到循环fork时就更难搞清楚,例如:
for(i=0; i<3; i++){ pid = fork(); if(pid>0) std::cout<<"pid: "<<getpid()<<endl; else std::cout<<"pid: "<<getpid()<<endl; }
都知道fork出的进程是一个满二叉树,但仅仅这样还是不能彻底理解,根据代码运行的结果,我们可以这样描述产生的所有进程: 数字代表进程的ID,这个图是符合大多数