vim test.c
寫入如下代碼
#include<unistd.h>
#include<stdio.h>
int main()
{
for(int i=0;i<2;i++)
{
fork();
printf("========\n");
printf("i=%d\n",i);
}
printf("++++++++++++++\n");
sleep(5);
return 0;
}
gcc -o test test.c 編譯
./test 運行
輸出結果如下
注:這裏使用sleep的原因是爲了更好地顯示。讀者可以註釋掉sleep,編譯運行一下。
可以看出:
i=0 輸出兩次 所以第一次循環 創建了一個子進程
i=1 輸出四次 第二次循環創建了兩個子進程。
簡圖如下: