【操作系统】参考图中代码,给出问题程序源码的运行结果并分析运行结果?

问题:编写一段程序,利用系统调用fork()创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“fath... 问题: 编写一段程序,利用系统调用fork()创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“father”,子进程分别显示字符“child1”和字符“child2“,请给出问题程序代码,并分析运行结果(程序代码参考下图) 展开
 我来答
lugoodboy
2022-09-25 · TA获得超过7.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:86%
帮助的人:6356万
展开全部

源程序:

运行结果:

父进程显示字符“father”,子进程分别显示字符“child1”和字符“child2“。



为了更好的分析源程序,我加入获得进程id的代码:

运行结果:



进程创建及分析:

/*执行while((p1=fork() )==-1);后,父进程创建了第一个子进程,子进程复制了父进程的资源,成为独立于父进程的一个进程,并且第一个子进程的fork()返回值为0,父进程的fork()返回值为刚创建的子进程号4。*/

/*执行while((p2=fork() )==-1);后,子进程再创建了第二个子进程,第二个子进程复制了第一个子进程的资源,成为独立的一个进程,并且第二个子进程的fork()返回值为0,第一个子进程的fork()返回值为刚创建的子进程号5。*/

三个进程的pid分别是:

父进程=3

第一个子进程=4

第二个子进程=5

云创
2023-07-25 广告
代码静态分析服务价格的制定考虑以下因素:1. 功能需求:不同的代码静态分析服务提供商提供的功能和服务不同,价格也会有所不同。如果需要的功能较多,或者需要定制化服务,价格可能会更高。2. 代码规模:代码规模越大,分析所需的时间和资源也会越多,... 点击进入详情页
本回答由云创提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式