看到一个关于fork函数的题,其实真的是一知半解地没太理解,先放在这里,以便后续再思考
【出处】fork函数详解
【参考】http://coolshell.cn/articles/7965.html
http://blog.csdn.net/wallwind/article/details/6996004
不算
main
这个进程自身,到底创建了多少个进程啊?
1
2
3
4
5
6
|
int
main(
int
argc,
char
* argv[])
{
fork();
fork() && fork() || fork();
fork();
}
|
考查两个点
1、A&&B||C
A为假,跳过B,判断C
A为真,判断B,若B为真,跳过C
若B为假,判断C
2、fork()函数父进程返回子进程ID;子进程返回0
第一条语句新增1个
第二条语句新增4*2个
第三条语句,此时已有进程1+1+4*2个,所以新增10个