实验六Linux进程的软中断通信
一.实验目的
1、掌握Linux系统中软中断通信的实现方法
2、掌握Linux系统中进程通信的基本原理
3、学会使用Linux系统中关于进程通信的一些系统调用
二.实验内容及步骤
1.输入如下程序(实验指导P127),使用“gcc 文件名”指令编译并执行程序,
使用“./a.out”指令查看结果,输入两次“ctrl+c”后屏幕会显示输出。多次运行程序,输出是否会有不同?分析产生这种不同的原因。
#include
#include
#include
#include
int wait_flag;
void stop();
main() {
int pid1,pid2;
wait_flag=1;
signal(2,stop); //or signal(14,stop);
while(wait_flag==1);
while((pid1=fork())==-1);
if(pid1>0) {
while((pid2=fork())==-1);
if(pid2>0) {
wait_flag=1;
sleep(5);
kill(pid1,16);
kill(pid2,17);
wait(0);
wait(0);
printf("Parent process is killed !!\n");
exit(0);