1.信号集
信号集:
一个能表示多个信号的数据类型:(Linux) sigset_t,分为未决信号集,阻塞信号集
未决信号集:
进程中处于未决状态的信号的集合
阻塞信号集:
进程要阻塞的信号的集合
2.信号相关函数
- 信号集函数
- sigemptyset() 将一个信号集的内容清空
- sigfillset() 将一个信号集置为全集(全为1)
- sigaddset() 在某集合中添加某个信号
- sigdelset() 在某集合中删除某个信号
- sigismember() 在某集合中是否存在某个信号
- 信号屏蔽字函数
sigprocmask() 设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
how可选用的值
how | 说明 |
---|---|
SIG_BLOCK | 加入set指向的信号集的值到进程屏蔽字 |
SIG_UNBLOCK | 从进程屏蔽字里将set指向的信号集的值删除 |
SIG_SETMASK | 将set指向的信号集的值设定为新的进程屏蔽字 |
- 其它函数
sigaction()
获取当前未决的信号