在UNIX中处理信号的差异

前端之家收集整理的这篇文章主要介绍了在UNIX中处理信号的差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用sigprocmask()屏蔽信号和使用信号(< signal>,SIG_IGN)忽略信号之间有区别吗?
阻止与忽视不同.您通过使用sigaction()安装SIG_IGN来忽略信号.

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

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

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

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

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

猜你在找的Bash相关文章