加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在UNIX中处理信号的差异

发布时间:2020-12-15 18:52:57 所属栏目:安全 来源:网络整理
导读:使用sigprocmask()屏蔽信号和使用信号( signal,SIG_IGN)忽略信号之间有区别吗? 阻止与忽视不同.您通过使用sigaction()安装SIG_IGN来忽略信号. 在内核或进程生成信号后,内核将其挂起到某些进程.一旦该过程作用在信号上,该信号就被传送到一个进程.一个进程可
使用sigprocmask()屏蔽信号和使用信号(< signal>,SIG_IGN)忽略信号之间有区别吗?
阻止与忽视不同.您通过使用sigaction()安装SIG_IGN来忽略信号.

在内核或进程生成信号后,内核将其挂起到某些进程.一旦该过程作用在信号上,该信号就被传送到一个进程.一个进程可以阻塞一个信号,使信号处于待发状态,直到它被解除阻塞.未被阻挡的信号将立即发送.信号掩码指定哪些信号被阻塞.一个进程可以确定哪些信号正在等待.

大多数UNIX不会排列同一待处理信号的多个实例;每个信号只有一个实例可以等待.

对于待处理的信号,对SIG_IGN设置信号动作将导致待处理信号被丢弃,无论其是否被阻止.

而过程信号掩码包含当前被阻止的一组信号.

当进程阻塞信号时,保持信号的发生,直到信号被解除阻塞(阻塞的信号不会丢失,而忽略的信号会丢失).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读