【操作系统】参考图中代码,给出问题程序源码的运行结果并分析运行结果?
问题:编写一段程序,利用系统调用fork()创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“fath...
问题: 编写一段程序,利用系统调用fork()创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“father”,子进程分别显示字符“child1”和字符“child2“,请给出问题程序代码,并分析运行结果(程序代码参考下图)
展开
1个回答
展开全部
源程序:
运行结果:
父进程显示字符“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 广告
2023-07-25 广告
代码静态分析服务价格的制定考虑以下因素:1. 功能需求:不同的代码静态分析服务提供商提供的功能和服务不同,价格也会有所不同。如果需要的功能较多,或者需要定制化服务,价格可能会更高。2. 代码规模:代码规模越大,分析所需的时间和资源也会越多,...
点击进入详情页
本回答由云创提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询