信号集合的例子|学习笔记

简介: 快速学习信号集合的例子

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频信号集合的例子 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11022


信号集合的例子

 

例子

例:

_signal_set.c 创建一个空的信号集合,向集合中添加信号,判断集合中是否有这个信号

#include <signal.h>

#include <stdio.h>

int main(int argc, char *argv[])

{

sigset_t set;

int ret=0;

sigemptyset(&set);

ret=sigismember(&set,SIGINT)

If(ret==0)

Printf(“SIGINT is not a member of sigprocmask\nret=%d\n”,ret)

sigaddset(&set,SIGINT);

sigaddset(&set,SIGQUIT);

定义了一个变量 set,sigemptyset 初始化了一个空集合,然后判断一下 sigismember 使用有没有 SIGINT 个集合,这时是没有的,因为集合是空的,没有这个信号返回值是零。

如果 ret=o,这个信号不在这个集合当中,接下来把二号信号添加到集合当中,把SIGQUIT 这个信号也添加到二号集合当中,所以set集合中就含有了两个信号。

判断一下

ret =sigismember (&set,SIGINT)

if(ret == 1)

set集合中含有了 SIGINT 信号,值为1

printf("sigiNT is a member of sigprocmask nret=d\n",ret);

return 0;

相关文章
|
10月前
|
存储 C语言
通俗易懂的学习C语言中输入一组数并找出其最大值
通俗易懂的学习C语言中输入一组数并找出其最大值
|
6月前
|
C++
C++(十六)类之间转化
在C++中,类之间的转换可以通过转换构造函数和操作符函数实现。转换构造函数是一种单参数构造函数,用于将其他类型转换为本类类型。为了防止不必要的隐式转换,可以使用`explicit`关键字来禁止这种自动转换。此外,还可以通过定义`operator`函数来进行类型转换,该函数无参数且无返回值。下面展示了如何使用这两种方式实现自定义类型的相互转换,并通过示例代码说明了`explicit`关键字的作用。
|
9月前
|
存储 数据库
【随手记】顺序I/O和随机I/O的定义和区别
【随手记】顺序I/O和随机I/O的定义和区别
289 1
|
10月前
|
Java 图计算
图计算中的图遍历是什么?请解释其作用和常用方法。
图计算中的图遍历是什么?请解释其作用和常用方法。
132 0
|
10月前
|
存储
C#-集合小例子
C#-集合小例子
75 0
R语言笔记丨三大法宝:判断、循环、函数
R语言笔记丨三大法宝:判断、循环、函数
比较(用函数方法)打印100到200之间的单数,素数,并且请教各位读者,如何区别的不同
比较(用函数方法)打印100到200之间的单数,素数,并且请教各位读者,如何区别的不同
142 0
比较(用函数方法)打印100到200之间的单数,素数,并且请教各位读者,如何区别的不同
|
C++
循环转换器的类型、工作原理和应用特点
循环转换器 (CCV) 或循环逆变器通过合成来自交流电源段的输出波形,将恒定电压、恒定频率的交流波形转换为另一个频率较低的交流波形,而无需中间直流环节。
672 0
循环转换器的类型、工作原理和应用特点
数据结构与算法__01--单链表无顺序添加时,节点对象形成封闭环问题,无法添加同一个对象导致遍历输出时一直执行输出
单链表无顺序添加时,节点对象形成封闭环问题,无法添加同一个对象导致遍历输出时一直执行输出
|
Java Scala 开发者
for 循环的两种方式|学习笔记
快速学习 for 循环的两种方式。
129 0