【Linux学习笔记38】进程间的通信(三)(信号的嵌套,挂起,信号安全)

引言

上一篇笔记主要是介绍了信号的核心API,但是信号还是存在一些特征:

  • 比如说信号在响应信号的过程中,有另外一个信号过来会不会发生嵌套?
  • 或者多个信号进行访问,进程应该是有序响应还是丢弃呢?
  • 或者进程设置信号的阻塞掩码,子进程是否会继承呢?
  • 或者挂起的信号是否也会继承给子进程?

那么这篇笔记主要是解答以上几个问题。

阻塞掩码是否会被子进程继承?

代码实现:
在这里插入图片描述
在这里插入图片描述
代码运行结果:
在这里插入图片描述
因此结论是:子进程会继承父进程的阻塞掩码

挂起信号是否会被子进程继承?

由上一个结论可以得知:子进程会继承父进程的阻塞,因此也可以借助上一个结论来证明挂起信号是否会被继承:
在这里插入图片描述
在这里插入图片描述
代码运行结果:
在这里插入图片描述
如上图:只有父进程能够成功打印SIGQUIT,证明子进程没有继承挂起的信号

结论:子进程不能继承父进程挂起的信号

信号是否会相互嵌套?

在这里插入图片描述
如图所示,信号可以嵌套
结论:信号是会相互嵌套的,但是相同信号不会嵌套

非实时信号只会响应一次,实时信号会全部响应

在这里插入图片描述
在这里插入图片描述

总结:

  • 子进程会继承父进程的阻塞掩码
  • 子进程不能继承父进程挂起的信号
  • 信号是会相互嵌套的,但是相同信号不会嵌套
  • 非实时信号只会响应一次,实时信号会全部响应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值