信号
简单,不能携带大量信息,满足特定条件才能发送,信号都是由内核产生,作用于进程的,由内核处理
未决:产生和递达之间的状态
递达:传递并且到达,作用于进程
信号是怎么产生的?
1 按键 ctrl C ctrl \ctrl z
2 系统调用,命令 Kill
3 软件条件 alarm
4 硬件异常 非法的内存访问,内存对齐,除0
信号的四要素:
描述变量:变量的类型,值,名字,地址
描述信号:编号,名字,默认触发事件,默认处理动作

阻塞信号集(信号屏蔽字):将某些信号加入集合 对他们设置屏蔽,当屏蔽 x 信号后,再收到该信号,该信号的处理将推后(解除屏蔽后):修改阻塞信号集,造成某些信号的阻塞(暂时不处理某些信号)
未决信号集:
1 信号产生,未决信号集中描述该信号的位立刻翻转为1,表示信号处于未决状态。当信号被处理,对应位翻回为0,这一时刻往往非常短暂.
2 信号产生后由于某些原因(主要是阻塞)不能抵达。这类信号的集合称之为未决信号集。再屏蔽解除之前,信号一直处于未决状态
主要的作用就是记录当前哪些信号尚未被处理。未决信号集我们是不可以修改的,但是我们可以修改阻塞信号集从而影响未决信号集。
信号的修改

代码实现屏蔽系统所有信号

代码实现屏蔽3号和11号信号

常用信号:


被折叠的 条评论
为什么被折叠?



