qq5*_*962 0 c linux operating-system
我在操作系统教科书上看到一个愚蠢的问题。问题如下:
假定所有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");
}
Run Code Online (Sandbox Code Playgroud)
但是当我从课本中键入相同的代码时,我得到了30行
这是正常的:
2 + 4 + 8 + 16等于30:您有30条线。
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |