linux:进程中信号的“3种状态 And 3张表”

本文详述了Linux进程处理信号的3种状态:阻塞、未决和递达,并介绍了与之对应的3张表。内容涵盖信号如何在进程的PCB中存储,信号集(sigset_t)和信号屏蔽字(Signal Mask)的使用,以及相关代码验证。通过阅读,读者将了解信号状态转换和处理机制。
摘要由CSDN通过智能技术生成

高能预警


本文主要介绍了信号在进程pcb中的表示方法并用代码验证其真实性。

主要内容有:

1.信号在进程中的表示方法:3种状态—3张表

2.对上述方法进行代码验证,包括:

  • 信号集(sigset_t)和信号屏蔽字(Signal Mask)及信号集操作函数的介绍
  • 代码验证(pending表)

————>全文阅读大概需要5min(我发四)<————


3种状态 And 3张表


在博主上篇博文中降到进程收到信号后,其可选的处理动作有以下三种:

1.忽略此信号。
2.执⾏行该信号的默认处理动作(终止该信号)。
3.提供⼀个信号处理函数(自定义动作),要求内核在处理该信号时切换到用户态执行这个处理函数,这种方式称为捕捉(Catch)一个信号。
欢迎大家围观:linux信号基本概念及如何产生信号

而这3种处理动作属于信号的第3种状态信号递达(进程对信号的实际处理动作)

很明显,信号递达是信号已经被进程接收时的状态。

而信号在没有发给进程之前,有两种状态:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值