开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:信号集的概念】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/660/detail/11016
信号集的概念
内容
一、信号集概述
二、信号集数据类型
三、信号集主要操作
一、信号集概述
所谓的信号集,就是信号的集合,一个集合当中有若干个信号,把若干个信号放到一个集合中。
一个用户进程常常需要对多个信号做出处理。为了方便对多个信号进行处理,在Linux系统中引入了信号集。信号集是用米表示多个信号的数据类型。
二、信号集数据类型
sigset_t 其实他是一个数组
看一下他的类型,输入
[02_day]vi/usr/include/i386-linux-gnu/bits isigset.h
看一下sigset_t ,他是一个结构体类型,结构体当中有一个无符号长整型的一个数组,数组当中有一个[SIGSET_NWORDS];它的值是1024除以8乘以 unsigned long int,8×4为32,1024除以32为32,也就是说这个长整型的数组当中有三十二个长整型的变量,这三十个长整型的变量用来才放信号的值。
定义于sigset_t 这个变量,相当于当中一个集合,可以放信号在这个集合里面。
定义路径:
/usr/include i386-linux-gnu/bits/sigset.h
三、信号集主要操作
信号集相关的操作主要有如下几个函数:
sigemptyset 为空的信号集
sigfillset 为满的信号集
sigismembe r判断集合当中是否有某个信号
sigaddset 往集合当中添加信号
sigdelset 把某一个信号从某一个集合当中踢掉
注:
创建了一个集合,集合当中的信号是不能重复的,比如已经有了一个二号信号了,就不能再放一个二号信号进来。