64,281
社区成员
发帖
与我相关
我的任务
分享
A-+---1-+---1
| |-C-2
|
|-B-2-+---2
|-D-3
上面的图用来说明进程关系
(注意:由于if(!fork()) i++;所以只有子进程才会执行i++)
0. 假设开始是进程为A,
1. 第一次fork
1.1 A fork 后产生子进程B
2. 第一个printf("%d\n", i);
2.1 进程A输出1
2.2 进程B输出2
3. 第二次fork
3.1 A fork 产生子进程C
3.2 B fork 产生子进程D
4. 第二个printf("%d\n", i);
4.1 进程A输出1
4.2 进程B输出2
4.3 进程C输出2
4.4 进程D输出3
A-+---1-+---1
| |-C-2
|
|-B-2-+---2
|-D-3