信号集概述
一个用户进程常常需要对多个信号进行处理,为了方便对多个信号进行处理,在linux系统中引入了信号集,信号集是用来表示多个信号的数据类型
信号集数据类型
sigset_t
定义路径
/usr/include/x86_64-linux-gnu/bits/sigset.h(Ubuntu 16.04)
信号集相关的操作主要有如下几个函数
sigemptyset
sigfillset
sigismember
sigaddset
sigdelset
sigemptyset函数
功能: 初始化一个空的信号集
#include <signal.h>
int sigemptyset(sigset_t * set)
功能
初始化由set指向的信号集,清除其中所有的信号即初始化一个空信号集
参数
set:信号集标识的地址,以后操作此信号集,对set进行操作就可以了
返回值
成功返回 0, 失败返回-1
sigfillset函数
功能:初始化一个满的信号集
#include <signal.h>
int sigfillset(sigset_t * set);
功能
初始化信号集合set,将信号集合设置为所有信号的集合
参数
信号集标识的地址,以后操作此信号集,对set进行操作就可以了
返回值
成功返回0,失败返回-1
sigismember函数
判断某个集合中是否有某个信号
#include <signal.h>
int sigismember(const sigset_t * set, int signum);
功能
查询signum标识的信号是否在信号集合set之中
参数
set: 信号集标识符号的地址4
<