linux软中断通信总结,Linux进程的软中断通信

#include int wait_flag;

void stop( );

main( )

{

int pid1, pid2; // 定义两个进程号变量

signal(3, stop); // 或者 signal(14,stop);

while ((pid1 = fork( )) == -1); // 若创建子进程1不成功,则空循环

if (pid1 > 0) { // 子进程创建成功,pid1为进程号

while ((pid2 = fork( )) == -1); // 创建子进程2

if (pid2 > 0) {

wait_flag = 1;

sleep(5); // 父进程等待5秒

kill(pid1, 16); // 杀死进程1

kill(pid2,17); // 杀死进程2

wait(0); // 等待第1个子进程1结束的信号

wait(0); // 等待第2个子进程2结束的信号

printf("\n Parent process is killed !!\n");

exit(0); // 父进程结束

}

else {

wait_flag = 1;

signal(17, stop); // 等待进程2被杀死的中断号17

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

exit(0);

}

}

else {

wait_flag = 1;

signal(16, stop); // 等待进程1被杀死的中断号16

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

exit(0);

}

}

void stop( ){

wait_flag = 0;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值