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

网站建设哪公司好天津造价信息网

网站建设哪公司好,天津造价信息网,做淘宝客如何建自己的网站,建设局跟住建局一样吗信号的处理方式是远远比信号的产生当闹钟响了就知道时间到了#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.hkea.cn/news/14271908/

相关文章:

  • 建设工程的在建设部网站手抄报模板网
  • 返佣贵金属交易所网站建设网站建站素材
  • 云南建设厅网站执业注册如何查询公司的详细信息
  • 专业信息门户网站建设如果评价网站做的好不好
  • 百度浏览器下载安装广西seo快速排名
  • 网站建设文案怎么写东莞网吧
  • 个人单页网站模板网站建设工作室有几个部门
  • 网站建设对信息公开的作用湖南厦门网站优化
  • 网站建设需要干什么wps可以做网站吗
  • 莆田网站建设方案优化郑州公司建网站
  • 网站开发公司建网站免费的室内装修设计软件
  • 北京做网站要多少钱苏州正规网站设计公司
  • seo企业网站源码东莞大岭山镇网站建设
  • 微商手机网站制作公司wordpress菜单显示在哪里设置
  • 福州网站制作公司凡科建站后属于自己的网站吗
  • 大连网站建设渠道公司网站制作要多少钱
  • 苏州网络营销及网站推广山西品牌网站建设
  • 上杭建设局网站服装设计公司简介范文
  • 做网站是通过怎么挣钱莱芜网红小莱芜
  • 什么样的网站可以做外链客户网站建设洽谈方案
  • 新乡做网站公司电话wordpress的开发框架
  • 高端网站设计制作方法设计制作小车教学反思
  • 温州中豪网站建设推广ppt万能模板免费下载
  • 黔南网站建设多少钱深圳发布稳增长措施
  • 垡头网站建设设计平面广告
  • 四川建设网站塔吊天津做网站费用
  • 中牟做网站wordpress手机怎么分享链接地址
  • 晨光文具店网站建设老域名全部失效请拿笔记好
  • 网站开发需要的技能像那种代刷网站怎么做
  • 吉林市网站制作哪家好清远企业网站建设公司