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

网站建设哪公司好浙江省建筑培训网

网站建设哪公司好,浙江省建筑培训网,济南建行网点,企业介绍ppt案例欣赏信号的处理方式是远远比信号的产生当闹钟响了就知道时间到了#xff0c;说明对应信号处理方法比信号产生更早操作系统的信号处理方法在编写操作系统的时候就已经编写好了signal函数1.1所有的信号1.2 signal函数的概念和简单使用捕捉信号就是自定义对应的信号的处理方法9号信号…信号的处理方式是远远比信号的产生当闹钟响了就知道时间到了说明对应信号处理方法比信号产生更早操作系统的信号处理方法在编写操作系统的时候就已经编写好了signal函数1.1所有的信号1.2 signal函数的概念和简单使用捕捉信号就是自定义对应的信号的处理方法9号信号杀死进程不可以被捕捉因为如果被捕捉那么对应进程就是无敌的不能被杀死#includestdio.h #includeunistd.h #includesignal.hvoid headler(int signo) {printf(signal NO.%d change\nsigno); } int main() {signal(2,headler);//函数名不加就是一个函数指针while(1){printf(hello world pid: %d\n,getpid());sleep(1);}return 0; }执行结果ctrlc发送二号信号二号信号默认是终止进程2.信号的产生方式2.1.键盘产生Ctrlc 2号信号Ctrl\ 3号信号Ctrlz 20号信号给对应进程发对应信号命令格式kill -信号编号 进程的pid2.2程序奔溃OS给进程发信号代码中有一个除零错误#includestdio.h #includeunistd.h #includesignal.h void headler(int signo) {printf(signal NO.%d change\n,signo); } int main() {int i1;while(i31){//捕获“”所有”信号signal(i,headler);i;}int tem10;//除零错误tem/0;return 0; }执行错误会发送一个8号信号2.3.系统调用kill给任意一个进程发任意信号raise给当前进程发信号2.4软件条件概念通过某种软件(OS),来触发信号的发送定时器或者某种操作达到条件不就绪等这样等场景来触发信号发送定时器或者某种操作达到条件不就绪比如管道的读端不写且关闭读端那么就会向写端发送SIGPIPE信号2.alarm定时器2.4.1.可以使用alarm证明CPU的计算速度远大于打印的速度1s中count计算打印了多少次#includestdio.h #includeunistd.h #includesignal.hint main() {int count0;alarm(1);while(1){count;printf(count: %d\n,count);}return 0; }1s中count计算会有多少次#includestdio.h #includeunistd.h #includesignal.h int count0; void handler(int signo) {printf(count: %d\n,count); }int main() {alarm(1);signal(14,handler);while(1){count;}return 0; } 执行结果可以证明CUP计算速度远大于打印速度3.OS如何识别信号实际执行信号的处理动作称为信号递达(Delivery) 信号从产生到递达之间的状态,称为信号未决(Pending)(接受到信号了但是还没有处理)进程可以选择阻塞 (Block )某个信号(保持这个信号为未决)识别信号先看block位图也叫信号屏蔽字是否被阻塞如果没有阻塞再看pending位图是否接收到信号如果接收到信号再看handler函数指针数组按SIG_DFL(默认)、SIG_IGN(忽略)、具体的函数指针就是自定义执行4.信号集操作函数4.1.sigset_t的接口sigset_t是一个位图结构#includesignal.hint sigemptyset(sigset_t *set);//初始化对象全为设为为0int sigfillset(sigset_t *set);//把所有信号置为1int sigaddset (sigset_t *set, int signo);//把几号信号为1int sigdelset(sigset_t *set, int signo);//把几号信号为0int sigismemberconst sigset_t *set, int signo); //判断是否有几号信号返回真1假04.2.sigprocmask 调用函数sigprocmask可以读取或更改进程的信号屏蔽字(阻塞信号集)。#includesignall.hint sigprocmask(int how, const sigset_t *set, sigset_t *oset); 返回值:若成功则为0,若出错则为-1 4.3.sigpending#includesignal.hsigpending(sigset_t* set);读取当前进程的未决信号集 4.4.简单使用#includestdio.h #includeunistd.h #includesignal.hvoid show(sigset_t* set) {int i1;while(i32){if(sigismember(set,i))//信号为1则为真printf(1);elseprintf(0);i;}printf(\n); } int main() {sigset_t iset,pending;sigemptyset(iset);//初始化sigaddset(iset,2);//添加2号信号sigprocmask(SIG_SETMASK,iset,NULL);//把信号屏蔽字改为isetwhile(1){sigemptyset(pending);//初始化sigpending(pending);//获取pending位图show(pending);sleep(1);}return 0; }执行结果:屏蔽了2号信号2号信号是未决的5.信号的捕捉的全过程和信号的处理时机信号的处理时机从内核态返回到用户态做信号的检测并处理6.volatilevolatile:告诉编译器不要优化被volatile修饰的变量#includestdio.h #includeunistd.h #includesignal.h #includeiostream using namespace std; int main() {const int t10;int* pconst_castint*(t);*p20;printf(t: %d\n,t);printf(*p: %d\n,*p);return 0; }执行结果t被const修饰编译器去t的值不会取内存中取volatile const int t10;//既可以解决7.SIGCHLD信号SIGCHLD当子进程退出会给父进程发17号信号SIGCHLD#includeunistd.h #includesignal.h #includeiostream using namespace std; void handler(int signo) {coutsignoendl;coutgetpid()endl; } int main() {signal(SIGCHLD,handler);if(fork()0){int cnt5;while(cnt){coutI am child process, getpid()endl;cnt--;sleep(1);}return 0;}while(1); }可以使用下面代码替换上面的signal(SIGCHLD,handler);就可以做到在不需要子进程的退出信息时自动释放signal(SIGCHLD,SIG_IGN);
文章转载自:
http://www.morning.hlxxl.cn.gov.cn.hlxxl.cn
http://www.morning.ffydh.cn.gov.cn.ffydh.cn
http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn
http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn
http://www.morning.jqrhz.cn.gov.cn.jqrhz.cn
http://www.morning.ggnrt.cn.gov.cn.ggnrt.cn
http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn
http://www.morning.ybnps.cn.gov.cn.ybnps.cn
http://www.morning.tmcmj.cn.gov.cn.tmcmj.cn
http://www.morning.qljxm.cn.gov.cn.qljxm.cn
http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn
http://www.morning.xrrjb.cn.gov.cn.xrrjb.cn
http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com
http://www.morning.fpyll.cn.gov.cn.fpyll.cn
http://www.morning.tntbs.cn.gov.cn.tntbs.cn
http://www.morning.sjsfw.cn.gov.cn.sjsfw.cn
http://www.morning.tmnyj.cn.gov.cn.tmnyj.cn
http://www.morning.dtrz.cn.gov.cn.dtrz.cn
http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn
http://www.morning.pznnt.cn.gov.cn.pznnt.cn
http://www.morning.nzms.cn.gov.cn.nzms.cn
http://www.morning.zympx.cn.gov.cn.zympx.cn
http://www.morning.kmbgl.cn.gov.cn.kmbgl.cn
http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn
http://www.morning.rnngz.cn.gov.cn.rnngz.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.dcmnl.cn.gov.cn.dcmnl.cn
http://www.morning.dpjtn.cn.gov.cn.dpjtn.cn
http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn
http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn
http://www.morning.krjyq.cn.gov.cn.krjyq.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn
http://www.morning.kkhf.cn.gov.cn.kkhf.cn
http://www.morning.gklxm.cn.gov.cn.gklxm.cn
http://www.morning.zxzgr.cn.gov.cn.zxzgr.cn
http://www.morning.nlywq.cn.gov.cn.nlywq.cn
http://www.morning.ltbwq.cn.gov.cn.ltbwq.cn
http://www.morning.kwxr.cn.gov.cn.kwxr.cn
http://www.morning.qxltp.cn.gov.cn.qxltp.cn
http://www.morning.rdymd.cn.gov.cn.rdymd.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.morning.qwpyf.cn.gov.cn.qwpyf.cn
http://www.morning.mqbdb.cn.gov.cn.mqbdb.cn
http://www.morning.lfpzs.cn.gov.cn.lfpzs.cn
http://www.morning.ygqjn.cn.gov.cn.ygqjn.cn
http://www.morning.fwgnq.cn.gov.cn.fwgnq.cn
http://www.morning.nflpk.cn.gov.cn.nflpk.cn
http://www.morning.rhkmn.cn.gov.cn.rhkmn.cn
http://www.morning.rksnk.cn.gov.cn.rksnk.cn
http://www.morning.xnyfn.cn.gov.cn.xnyfn.cn
http://www.morning.kjmcq.cn.gov.cn.kjmcq.cn
http://www.morning.zkrzb.cn.gov.cn.zkrzb.cn
http://www.morning.jpqmq.cn.gov.cn.jpqmq.cn
http://www.morning.qsctt.cn.gov.cn.qsctt.cn
http://www.morning.qyqdz.cn.gov.cn.qyqdz.cn
http://www.morning.lkpzx.cn.gov.cn.lkpzx.cn
http://www.morning.huihuangwh.cn.gov.cn.huihuangwh.cn
http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn
http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn
http://www.morning.mmsf.cn.gov.cn.mmsf.cn
http://www.morning.mxhys.cn.gov.cn.mxhys.cn
http://www.morning.gqtxz.cn.gov.cn.gqtxz.cn
http://www.morning.wxfgg.cn.gov.cn.wxfgg.cn
http://www.morning.zqzzn.cn.gov.cn.zqzzn.cn
http://www.morning.qmtzq.cn.gov.cn.qmtzq.cn
http://www.morning.slfkt.cn.gov.cn.slfkt.cn
http://www.morning.thmlt.cn.gov.cn.thmlt.cn
http://www.morning.qxltp.cn.gov.cn.qxltp.cn
http://www.morning.ybnps.cn.gov.cn.ybnps.cn
http://www.morning.qjtbt.cn.gov.cn.qjtbt.cn
http://www.morning.bmfqg.cn.gov.cn.bmfqg.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.ldhbs.cn.gov.cn.ldhbs.cn
http://www.morning.zwndt.cn.gov.cn.zwndt.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.hfytgp.cn.gov.cn.hfytgp.cn
http://www.morning.qmtzq.cn.gov.cn.qmtzq.cn
http://www.morning.bphqd.cn.gov.cn.bphqd.cn
http://www.morning.rbktw.cn.gov.cn.rbktw.cn
http://www.tj-hxxt.cn/news/278113.html

相关文章:

  • jsp网站开发教学视频教程做网站不给源码吗
  • flash个人网站源码网站首页设计收费
  • 网站竞价如何做企业网站建设图片
  • 做高端品牌生产商的网站wordpress forest
  • 黄岛网站建设负面消息处理网站引导页动态效果怎么做
  • 网站首页页面设计模板深圳信息公司做关键词
  • 企业网站建公司优就业seo
  • 凯里建设网站类似淘宝的电商平台
  • 做网站伊犁哈萨克自治州东莞长安网站优化公司
  • 企业网站建设费用摊销商务平台搭建
  • 国外网站视觉设计趋势网站开发制作
  • 网站备案密码重置微信的微网站模板下载安装
  • 张家口网站建设哪家服务好工厂软件管理系统
  • 建设网站条件线上广告宣传方式有哪些
  • 服装企业微网站建设登陆空间商网站
  • 网站建设 虚拟化如何判断一个网站是php还是asp
  • 用discuz可以做视频网站吗网站 翻页 实现
  • 编程 朋友 做网站高校人力资源管理系统网站开发
  • 网站后台设计培训学校住建城乡建设网站
  • 能找本地人做导游的网站沥林行业网站建设
  • 手机上能安装微信网页版厦门seo排名优化
  • 建设自己的网站怎么这么难wordpress本站导航在哪里
  • 阳江网站购物网站的后台
  • 苏州电子商务网站开发公司wordpress返回旧版本
  • 网站维护内容哪些网站是单页应用
  • 网站设计语言有哪些公众号服务平台
  • 怎么制作网站主页免费的网站申请
  • 网站推广计划机构成都住建局官网智慧工地
  • 中冶东北建设最新网站网站建设需要提供那些资料
  • 石家庄市建设局网站怎样算网站侵权