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

中国工程建筑门户网站官网mvc net跳转到另一网站

中国工程建筑门户网站官网,mvc net跳转到另一网站,中国建筑公司排名最新五十强,本地建设网站文章目录 Ⅰ. 操作sigset_t变量接口Ⅱ. sigprocmask(阻塞信号集)Ⅲ. sigpending(未决信号集)Ⅳ. 接口使用代码⚜️sigaction(捕捉信号)Ⅴ. 测试sigaction的一些场景Ⅰ. 操作sigset_t变量接口 ​ 还记得我们上面讲过的 sigset_t 类型吗,sigset_t 类型对于每种信号用一个…

文章目录

  • Ⅰ. 操作sigset_t变量接口
  • Ⅱ. sigprocmask(阻塞信号集)
  • Ⅲ. sigpending(未决信号集)
    • Ⅳ. 接口使用代码
  • ⚜️sigaction(捕捉信号)
    • Ⅴ. 测试sigaction的一些场景

在这里插入图片描述

Ⅰ. 操作sigset_t变量接口

​ 还记得我们上面讲过的 sigset_t 类型吗,sigset_t 类型对于每种信号用一个 bit 表示 “有效”“无效” 状态,至于这个类型内部如何存储这些 bit 则依赖于系统实现,从使用者的角度是不必关心的,因为不同的操作系统可能对 sigset_t 变量的定义不一样,有的可能是变量,有的可能是数组,有的可能是封装在结构体内等等。

​ 使用者只能调用以下函数来操作 sigset_t 变量,而不应该对它的内部数据做任何解释,比如用 printf 直接打印 sigset_t 变量是没有意义的!

#include <signal.h>
int sigemptyset(sigset_t *set); // 将set给定的信号集初始化为0
int sigfillset(sigset_t *set); // 将set初始化为full,也就是初始化所有信号为1
int sigaddset (sigset_t *set, int signo); // 在set中添加signo信号
int sigdelset(sigset_t *set, int signo); // 在set中删除signo信号
int sigismember(const sigset_t *set, int signo); // 检测signo信号是否存在set中// 返回值:前四个函数都是成功返回0,失败返回-1。
//       而sigismember()是一个布尔函数,用于判断一个信号集的有效信号中是否包含某种信号,若包含则返回1,不包含则返回0,出错返回-1。
  • sigemptyset() 初始化 set 所指向的信号集,使其中所有信号的对应 bit 清零,表示该信号集不包含任何有效信号。
  • sigfifillset() 初始化 set 所指向的信号集,使其中所有信号的对应 bit 置为 1表示该信号集的有效信号包括系统支持的所有信号。

​ 💥💥注意:在使用 sigset_ t 类型的变量之前,一定要调用 sigemptyset()sigfifillset() 做初始化,使信号集处于确定的状态。初始化 sigset_t 变量之后就可以再调用 sigaddset()sigdelset() 在该信号集中添加或删除某种有效信号。

Ⅱ. sigprocmask(阻塞信号集)

#include <signal.h>
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset); // 作用:可以读取或更改进程的信号屏蔽字(阻塞信号集)
// 返回值:若成功则为0,若出错则为-1,并且设置错误码errno
  • 如果 oldset 是非空指针,则读取进程的当前信号屏蔽字通过 oldset 参数传出。
  • 如果 set 是非空指针,则更改进程的信号屏蔽字,参数 how 指示如何更改。
  • 如果 oldsetset 都是非空指针,则先将原来的信号屏蔽字备份到 oldset 里,然后根据 sethow 参数更改信号屏蔽字。

假设当前的信号屏蔽字(阻塞信号集)为 mask,下表说明了 how 参数的可选值:

在这里插入图片描述

如果调用 sigprocmask() 解除了对当前若干个未决信号的阻塞,则在 sigprocmask() 返回前,至少将其中一个信号递达

Ⅲ. sigpending(未决信号集)

#include <signal.h>
int sigpending(sigset_t *set);// 作用:读取当前进程的未决信号集,通过set参数传出
// 返回值:若成功则为0,若出错则为-1,并且设置错误码errno
// 参数:set为要读取的信号集

​ 这个相对 sigprocmask() 来说会更加简单一点,其仅仅 只能读取未决信号集而已,而无法进行修改!

Ⅳ. 接口使用代码

​ 下面我们写一段代码,我们来通过上面这些接口达到这个目的:定义我们自己的 sigset_t 类型变量,并且通过添加信号、删除信号,然后我们将每次这个变量的状态也就是比特位都打印出来,观察一下变化:

#include <iostream>
#include <signal.h>
#include <vector>
#include <unistd.h>
using namespace std

文章转载自:

http://3OMrYe4N.qgbfx.cn
http://S9lVMMGz.qgbfx.cn
http://LjR1SRWT.qgbfx.cn
http://GmbkmcGq.qgbfx.cn
http://foyq2sJA.qgbfx.cn
http://o3deJv6t.qgbfx.cn
http://oRE4fEOX.qgbfx.cn
http://F6Uk0lru.qgbfx.cn
http://byxwcWrk.qgbfx.cn
http://9IzKDPvC.qgbfx.cn
http://ht2N1zIs.qgbfx.cn
http://YXS1YsLM.qgbfx.cn
http://svLDte7J.qgbfx.cn
http://WHAdog1y.qgbfx.cn
http://9PByx3V4.qgbfx.cn
http://RjwCRQDL.qgbfx.cn
http://i8UD9oyc.qgbfx.cn
http://xHzDMfpt.qgbfx.cn
http://m1sygzCn.qgbfx.cn
http://UyPMAcxC.qgbfx.cn
http://fc3x1MK8.qgbfx.cn
http://TjGkDXkJ.qgbfx.cn
http://OypuosdI.qgbfx.cn
http://ENzKReZI.qgbfx.cn
http://T6oayv9k.qgbfx.cn
http://2p1tDsFu.qgbfx.cn
http://Q4eNPXBS.qgbfx.cn
http://tlTCXRIl.qgbfx.cn
http://hieVSw3e.qgbfx.cn
http://pxLX8YB9.qgbfx.cn
http://www.dtcms.com/wzjs/671427.html

相关文章:

  • 哪个网站可以做图片链接Wordpress会员插件推荐
  • 搭建网上商城seo推广哪家好
  • php网站开发技术 pdf重庆网站建设 cqhtwl
  • 成都网站建设企业预约做家庭清洁的网站
  • 如何自己网站接装修生意做做调查问卷换赏金的网站
  • 做个网站成功案例dreamware怎么做网站
  • 咸阳网站建设推广新网站怎样做外链
  • 衡水移动网站建设价格中国建设监理网站
  • 网站设计策划书案例湘潭做网站 用户多磐石网络
  • 免费wap网站推荐wordpress 图片链接
  • 具体的网站建设方案百度搜索引擎优化的推广计划
  • 预登记网站开发 会议住房建设官方网站
  • 宁波网站关键词优化排名小程序源码网免费
  • 汕头网站建设设计价格淘宝商家网站建设
  • 万网个人网站怎么备案专业郑州做网站的公司
  • 上海单位网站建设宁德市医院
  • 做服装哪个网站图片多建筑人才网评职称
  • 庞各庄网站建设wordpress自定义模块自定义字段
  • 德惠市建设局网站wordpress图文调用
  • 基于html5的购物网站开发品牌建设交流会讲话
  • 成都小程序开发公司郑州见效果付费优化公司
  • 网站建设五年发展规划太原小程序制作
  • c2c网站代表和网址品牌建设推荐
  • 高端装饰公司网站设计网页设计流程顺序
  • 培训网网站源码深圳汽车网站建设
  • 赣州建设公司网站滨州网站建设滨州
  • 聊城开发区人才网seo是什么意思中文
  • html5手机网站源码下载关于文化馆网站建设的材料
  • 漯河做网站的公司宣传册画册设计公司
  • 能够做渗透的网站广告公司怎么宣传自己