实验十四

Linux 信号机制实验

2017.5.14

【实验目的】

1.了解什么是信号。

2.熟悉 LINUX 系统中进程之间软中断通信的基本原理。

【实验原理】

利用 signal 来实现发送信号和接受信号的原理。

【实验内容】

1.编写一段程序,使用系统调用 fork( )创建两个子进程,再用系统调用 signal( )让父进程捕捉键盘上 来的中断信号(即按 ctrl+c 键),当捕捉到中断信号后,父进程用系统调用 kill( )向两个子进程发出信号, 子进程捕捉到父进程发来的信号后,分别输出下列信息后终止:

Child process 1 is killed by parent!

Child process 2 is killed by parent!

父进程等待两个子进程终止后,输出以下信息后终止:

Parent process exit!

参考程序:

【实验要求】

⑴ 运行程序并分析结果。

⑵ 如果把 signal(SIGINT,stop)放在①号和②号位置,结果会怎样并分析原因。 /p>

⑶ 该程序段前面部分用了两个 wait(NULL),为什么?

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


Tags:
Stats:
14 comments
262 views