博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
信号处理函数(2)-sigismember()
阅读量:6841 次
发布时间:2019-06-26

本文共 1910 字,大约阅读时间需要 6 分钟。

定义:
int sigismember(const sigset_t *set,int signum);
 
表头文件:
#include<signal.h>
 
说明:
sigismember()用来测试参数signum 代表的信号是否已加入至参数set信号集里。如果信号集里已有该信号则返回1, 否则返回0。
 
返回值:
信号集已有该信号则返回1, 没有则返回0。如果有错误则返回-1。
 
相关函数:
sigemptyset, sigfillset, sigaddset, sigdelset
 
错误代码:
EFAULT 参数set指针地址无法存取
EINVAL 参数signum 非合法的信号编号

示例:

#include 
#include
void printsigset(const sigset_t *set){ int i; for (i = 1; i < 32; i++) if (sigismember(set, i) == 1) // 测试signum所代表的信号是否已加入参数set的 // 信号集里,如果信号集里已有该函数则返回1,否则返回0 putchar('1'); else putchar('0'); puts("");}int main(){ sigset_t s,p; sigemptyset(&s); // 清空信号集,置0 sigaddset(&s, SIGINT); // 把信号集的某一个位置置1 sigprocmask(SIG_BLOCK, &s, NULL); // 修改信号屏蔽字(SIG_BLOCK是添加) while(1) { sigpending(&p); // 读取当前进程的未决信号集 printsigset(&p); // 打印信号集 sleep(1); } return 0;}

运行结果:

0000000000000000000000000000000

0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
0000000000000000000000000000000
^C0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000
0100000000000000000000000000000

 

转载地址:http://zmzul.baihongyu.com/

你可能感兴趣的文章
MPICH2(r8733)的错误容忍
查看>>
我的友情链接
查看>>
Python:contextlib模块——上下文管理器工具
查看>>
数制之十进制转成其他进制
查看>>
运用bind()和connect()函数
查看>>
帧、数据报、段、Frame Datagram Segment Packet Fragment
查看>>
推荐一款免费的AD审计工具------Netwrix AD变更通知工具
查看>>
Xcode8控制台输出大量无用信息的解决方案
查看>>
【简单的留言本】用HTML新增的数据库实现
查看>>
asp.net4 报 “请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”...
查看>>
OpnAI将可预测序列中下一段文字、图像和语音
查看>>
PowerQuery与PowerPivot将引爆你的桌面级数据分析:能量巨大,超出你想象!
查看>>
钱找上门来了,你做好准备了吗?(采购成熟稳定软件模块、按统一要求修正)...
查看>>
硬盘无法访问由于IO设备错误,无法运行此项请求,里面的资料怎么寻回
查看>>
老友记台词笔记S0101-ijk英语
查看>>
LAMP环境搭建WordPress博客
查看>>
Oracle 数据库 数据文件 表 表空间 用户的关系(转)
查看>>
22.jvm参数优化
查看>>
sqlite 数据类型
查看>>
数据库管理
查看>>