操作系统实验一 Linux基本环境及进程管理(11)

时间:2025-05-04

操作系统实验一 Linux基本环境及进程管理

六、思考

1 、该程序段前面部分用了两个 wait(0) ,它们起什么作用?

2 、该程序段中每个进程退出时都用了语句 exit(0) ,为什么?

3 、为何预期的结果并未显示出?

4 、程序该如何修改才能得到正确结果?

5 、不修改程序如何得到期望的输出?

附加任务:在上面的任务1中,增加语句signal(SIGINT,SIG_IGN)和语句signal(SIGQUIT,SIG_IGN),观察执行结果,并分析原因。这里,

signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)分别为忽略键信号以及忽略中断信号。

<程序>

#include<stdio.h>

#include<stdlib.h>

#include<signal.h>

#include<unistd.h>

int pid1,pid2;

int EndFlag=0;

int pf1=0;

int pf2=0;

void IntDelete()

{

kill(pid1,16);

kill(pid2,17);

EndFlag=1;

}

void Int1()

{

printf("child process 1 is killed !by parent\n");

exit(0);

}

void Int2()

{

printf("child process 2 is killed !by parent\n");

exit(0);

}

main()

{

int exitpid;

signal(SIGINT,SIG_IGN);

signal(SIGINT,SIG_IGN);

while((pid1=fork())==-1);

if(pid1==0)

操作系统实验一 Linux基本环境及进程管理(11).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219