猿问

关于计算机操作系统实验!fork()的意思?

#include<stdio.h>
main()
{
int p1,p2;
while ((p1=fork())==-1); 
if(p1==0) 
 putchar('b') ; 
else 
 { 
 while((p2=fork())==-1) ;
if(p2==0) 
putchar('c');
else putchar('a'); 
 }
}
程序怎么解释?运行结果是什么?

守着星空守着你
浏览 697回答 2
2回答

FFIVE

fork() 创建子进程根据fork()的返回值可以判断该处是在父进程还是子进程的代码里。while((p1=fork())==-1);是创建子进程,失败重复,直到创建成功一个为止;这时在创建的p1子进程里输出'b';然后,同理,在创建的p2子进程里输出‘c’最后,父进程输出'a'这个程序就是用一个父进程创建了两个子进程,分别在每个进程里输出一个不同的字符以作区别。在终端看来,就是输出了三个字符,但顺序不确定。

SMILET

操作系统(OS)学的基本上都比较低层了,大致就是在计算机硬件上上搭载一个平台,并且给予上层接口,使上层的软件可以操作计算机~~操作系统存在广泛性,从小型机到大型机使用的系统都是不同的,微机上常见的OS诸如Linux,Mac OS X,Windows,DOS,Solaris,BSD,OS/2等,一般中型机以上的就都是运行Unix或者类Unix系统了~~目前Top500的机子里大多数使用的都是Linux系统~~你的串号我已经记下,采纳后我会帮你制作
随时随地看视频慕课网APP
我要回答