我在操作系统教科书上看到一个愚蠢的问题。问题如下:
假设所有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