当前位置: 首页 > news >正文

东莞人才招聘信息seo网站免费优化软件

东莞人才招聘信息,seo网站免费优化软件,西宁做网站公司排名,如何在搜索中找到自己做的网站目录 1、信号集初始化 2、向信号集中添加或删除信号 3、测试信号是否在信号集中 在 Linux 系统中,处理多个信号时常用到一种数据结构:信号集(sigset_t)。信号集允许我们将多个信号组织在一起,以便在系统调用中传递和…

目录

1、信号集初始化

2、向信号集中添加或删除信号

3、测试信号是否在信号集中


在 Linux 系统中,处理多个信号时常用到一种数据结构:信号集(sigset_t)。信号集允许我们将多个信号组织在一起,以便在系统调用中传递和操作。例如,sigaction()sigprocmask()sigpending() 等系统调用都使用信号集作为参数。

信号集的数据结构定义如下:

#define _SIGSET_NWORDS (1024 / (8 * sizeof(unsigned long int)))
typedef struct {unsigned long int __val[_SIGSET_NWORDS];
} sigset_t;

这个结构体可以表示一组信号。_SIGSET_NWORDS 计算了信号集数组所需的长整型数目,以便能够容纳所有可能的信号。

1、信号集初始化

sigemptyset() 用于初始化信号集,使其不包含任何信号。函数原型如下:

#include <signal.h>
int sigemptyset(sigset_t *set);

参数:

  • set: 指向需要初始化的信号集变量的指针。

返回值:

  • 成功时返回 0。
  • 失败时返回 -1,并设置 errno

使用示例如下:

#include <signal.h>int main() {sigset_t sig_set;if (sigemptyset(&sig_set) == -1) {perror("sigemptyset");return 1;}// 现在 sig_set 不包含任何信号return 0;
}

sigfillset() 用于初始化信号集,使其包含所有信号,包括所有实时信号。函数原型如下:

#include <signal.h>
int sigfillset(sigset_t *set);

参数:

  • set: 指向需要初始化的信号集变量的指针。

返回值:

  • 成功时返回 0。
  • 失败时返回 -1,并设置 errno

使用示例如下:

#include <signal.h>int main() {sigset_t sig_set;if (sigfillset(&sig_set) == -1) {perror("sigfillset");return 1;}// 现在 sig_set 包含所有信号return 0;
}

2、向信号集中添加或删除信号

sigaddset() 用于将一个信号添加到信号集中。函数原型如下:

#include <signal.h>
int sigaddset(sigset_t *set, int signum);

参数:

  • set: 指向信号集的指针。
  • signum: 要添加的信号。

返回值:

  • 成功时返回 0。
  • 失败时返回 -1,并设置 errno

使用示例如下:

#include <signal.h>int main() {sigset_t sig_set;if (sigemptyset(&sig_set) == -1) {perror("sigemptyset");return 1;}if (sigaddset(&sig_set, SIGINT) == -1) {perror("sigaddset");return 1;}// 现在 sig_set 包含 SIGINT 信号return 0;
}

sigdelset() 用于将一个信号从信号集中删除。函数原型如下:

#include <signal.h>
int sigdelset(sigset_t *set, int signum);

参数:

  • set: 指向信号集的指针。
  • signum: 要删除的信号。

返回值:

  • 成功时返回 0。
  • 失败时返回 -1,并设置 errno

使用示例如下:

#include <signal.h>int main() {sigset_t sig_set;if (sigfillset(&sig_set) == -1) {perror("sigfillset");return 1;}if (sigdelset(&sig_set, SIGINT) == -1) {perror("sigdelset");return 1;}// 现在 sig_set 不包含 SIGINT 信号return 0;
}

3、测试信号是否在信号集中

sigismember() 用于测试某个信号是否在指定的信号集中。函数原型如下:

#include <signal.h>
int sigismember(const sigset_t *set, int signum);

参数:

  • set: 指向信号集的指针。
  • signum: 要测试的信号。

返回值:

  • 如果信号 signum 在信号集 set 中,则返回 1。
  • 如果信号 signum 不在信号集 set 中,则返回 0。
  • 失败时返回 -1,并设置 errno

以下示例中,我们首先初始化了一个空的信号集,然后添加了 SIGINT 信号,并使用 sigismember() 函数检查信号集是否包含 SIGINT 信号。

#include <signal.h>
#include <stdio.h>int main() {sigset_t sig_set;if (sigemptyset(&sig_set) == -1) {perror("sigemptyset");return 1;}if (sigaddset(&sig_set, SIGINT) == -1) {perror("sigaddset");return 1;}if (sigismember(&sig_set, SIGINT)) {puts("信号集中包含 SIGINT 信号");} else {puts("信号集中不包含 SIGINT 信号");}return 0;
}
http://www.ritt.cn/news/13277.html

相关文章:

  • 百度做的网站php免费开源crm系统
  • 顺德精品网站建设房地产网站模板
  • 建站网站教程长沙seo网站排名
  • 网页和网站做哪个好淘宝关键词优化怎么弄
  • 软件 网站开发合作协议全渠道营销成功案例
  • 免费空间是什么意思谷歌seo网站排名优化
  • php动态网站开发课后题答案免费建站软件
  • 卡盟网站制作教程青岛seo关键词
  • 在网站做时时彩代理违法网店代运营收费
  • 怎么查看网站备案号重庆百度seo代理
  • 厦门企业做网站产品怎样推广有效
  • 沈阳做网站 智域广告宣传费用一般多少
  • 天津高端网站建设制作郑州关键词seo
  • 网站设计目标 优帮云营销网站建设哪家快
  • wordpress 大前端2.0百度搜索排名优化哪家好
  • 有关网站开发的文献综述免费seo网站推荐一下
  • 长葛住房和城乡建设局网站今日疫情最新消息
  • 上海松江区建设局官方网站百度一下首页百度
  • 布吉做棋牌网站建设关键词搜索引擎优化推广
  • 怎么自己编码做网站网站页面分析作业
  • 怎样做网站后台厦门网站推广优化哪家好
  • 论坛网站建设价格今日最新消息新闻报道
  • 做网站后期怎么维护如何查一个关键词的搜索量
  • 杭州哪家公司做网站手机版谷歌浏览器入口
  • wordpress增加网址大全网络优化工程师主要做什么
  • 个人网站做商城会怎样网店运营推广中级实训
  • 辽宁建设工程信息网注册流程长沙关键词优化首选
  • 免费微商城怎么开通?seo优化效果怎么样
  • 服装网站建设都有哪些全国疫情最新名单
  • 专做动漫av的网站网站模板设计