【发布时间】:2016-04-22 13:22:11
【问题描述】:
我在操作系统教科书中看到了一个愚蠢的问题。问题如下:
假设所有fork系统调用都成功。执行如下所示程序后。屏幕上有多少行?
我假设每个 fork 调用都会使进程加倍,因此结果应该是创建了 16 个进程。但是当我从教科书中输入相同的代码时,我得到了 30 行。这是结果和代码:
http://imgur.com/zrdOP0X
#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");
}
【问题讨论】:
-
分叉分叉。
标签: c linux operating-system