我在操作系統教科書上看到一個愚蠢的問題。問題如下:
假設所有fork系統調用都成功。執行如下所示的程序後。屏幕上有多少行?
我假設每個fork調用都會使進程加倍,所以結果應該是16進程被創建。但是當我從教科書中輸入相同的代碼時,我得到了30行。下面是結果和代碼:
http://imgur.com/zrdOP0XLinux中有四個fork()後會創建多少個進程?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(){
fork();
printf("After fork1\n");
fork();
printf("After fork2\n");
fork();
printf("After fork3\n");
fork();
printf("After fork4\n");
}
杈叉的叉。 –
什麼是2 + 4 + 8 + 16? – Peter