linux信号--阻塞信号

本文详细介绍了Linux系统中信号的阻塞和未决状态,阐述了两者之间的区别。信号在内核中由两个标志位表示,一个是阻塞,另一个是未决。阻塞的信号不会递达,而忽略是在递达后的一种处理方式。Linux系统对普通信号和实时信号的处理方式有所不同。此外,文章还讲解了信号集操作函数和如何使用sigprocmask、sigpending等函数来管理进程的信号屏蔽字和未决信号集。
摘要由CSDN通过智能技术生成

1. 信号在内核中的表示

我们知道了信号产生的各种原因,而实际执行信号处理的动作,叫做信号递达(Delivery)。信号从产生到递达之间的状态,称为信号未决(Pending)。进程可以选择阻塞(Block)某个信号。被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作。
 注意,阻塞和忽略是不同的,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作。
linux <wbr>--- <wbr>信号 <wbr>--- <wbr>阻塞信号:


 
 每个信号都有两个标志位分别表示阻塞和未决,,还有一个函数指针表示处理动作,信号产生时,内核在进程控制块中设置该信号的未决标志,直到信号递达才清除该标志。
(1) SIGHUP(简记为00):未阻塞未产生,处理动作递达执行默认。
&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值