linux 信号 未决信号集和屏蔽信号集

有的地方,将屏蔽又叫阻塞?

在虚拟地址空间中,内核区的PCB中
有两个64位的值(集合),分别表示64个信号的未决状态(未被处理)和屏蔽与否
kill -l 可以查看linux中的所有信号,共64个

屏蔽信号集合有64位(二进制),每一位对应一个信号,为1则对应的信号被屏蔽,不被处理
如果后续收到了该信号,在未决信号集合里将会把该信号对应的位变为1,表示有该信号未被处理

程序运行过程中,查看未决信号集合,如果某一位为1,则到屏蔽信号集合中查看该信号是否被屏蔽
如果没有被屏蔽则进行处理
如果被屏蔽了,那就是被屏蔽了~~~

还有一点,未决信号集不记录有多少个该信号未决,只是有个标志位,有这样的信号未处理,毕竟只有01值

posted @ 2023-02-09 23:10  ecnu_lxz  阅读(109)  评论(0编辑  收藏  举报