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

公司做的网站打开慢企业宣传ppt的方案模板

公司做的网站打开慢,企业宣传ppt的方案模板,做结婚视频储存网站,盛泽做网站目录 什么是信号#xff1f; 如何使用信号#xff1f; 代码#xff1a; testSig.cc makefile#xff1a; 验证#xff1a; 2号信号#xff1a; 9号信号#xff1a; 建立对信号的认识#xff1a; 信号的处理 自定义信号的处理方式#xff1a; signal 函数…目录 什么是信号 如何使用信号 代码 testSig.cc makefile  验证 2号信号 9号信号 建立对信号的认识 信号的处理 自定义信号的处理方式 signal 函数 参数 返回值 代码1以2号信号为例 验证1 代码2 验证2 ​编辑 忽略信号  代码 验证 什么是信号 信号是 Linux 系统提供的、让用户进程给其他进程发送异步信号的一种方式用于通知进程发生了某个事件。 异步一种编程模型或操作模式在这种模式下任务的执行不会阻塞或等待其他任务完成而是独立进行并且可以在任务完成时通过回调、事件或其他机制通知主程序。 指令 kill -l 可以查看 Linux 中的信号可以注意到没有 0号、32号、33号信号且从 34号信号开始信号名字中都带有 RT 如何使用信号 下面用简单的代码来认识一些常见的信号 代码 testSig.cc #includeiostream using namespace std; #includeunistd.h #includesys/types.h int main() {while(1){cout I am activing ... pid: getpid()endl;sleep(1);}return 0; } makefile  testSig:handlerSig.ccg -o $ $^ -stdc11.PHONY:clean clean:rm -f testSig 验证 指令 kill -signal pid 就可以向指定进程发送信号。 2号信号 2号信号在Linux系统中对应的是 SIGINTInterrupt Signal通常被称为中断信号用于请求中断正在运行的程序。  可以看出死循环的进程在收到信号后结束死循环进程终止  指令必须带 pid不能是进程名  指令中的 -signal 可以是数字也可以是信号的名字即宏定义  9号信号 9号信号在Linux系统中对应的是 SIGKILL 信号是一个强制终止信号用于立即终止进程。 进程收到信号后会打印 Killed  建立对信号的认识 初步了解了什么是信号后我们需要建立以下对信号的认识  1、还没有向指定进程发送信号时进程已经知道收到信号时该怎么处理了 2、信号能够被识别出来也就是说编写内核的才程序员提前给进程设定好了识别特定信号的方式 3、进程收到信号时如果进程正在处理更重要的事情进程可以暂时不处理收到的信号但是进程必须临时保存该信号 4、进程收到信号时可以不立即处理可以在合适的时候处理 5、信号可以随时产生我们无法预测信号什么时候发送所以信号是异步发送的 以上的认识可以结合日常生活的例子理解比如把早起的闹钟设为一种信号我们在闹钟响之前已经知道听到闹钟时该怎么处理这个信号了那就是起床我们也可以先不起床等到想起床的时候再起床而且我们在睡梦中无法预测闹钟什么时候会响。  信号的处理 从上面两个信号的例子可以看出进程收到不同的信号后有不同的处理方式而以上的信号处理方式是信号处理的默认动作我们还可以捕捉信号自定义信号的处理方式或者忽略信号 自定义信号的处理方式 signal 函数 signal 函数是 Linux 系统中用于设置信号处理函数的简单接口。它允许你指定当进程接收到某个信号时应调用哪个函数而不是默认的信号处理方式。 #include signal.hvoid (*signal(int signum, void (*handler)(int)))(int); 参数 signum: 要处理的信号编号。 handler: 信号处理函数的指针类型为 void (*)(int)。这个函数会在接收到指定信号时被调用也就是说如果进程没有收到指定信号handler 函数将永远不会被调用 返回值 成功: 返回之前的信号处理函数指针。 失败: 返回 SIG_ERR此时 errno 会被设置为相应的错误码。 代码1以2号信号为例 #includeiostream using namespace std; #includeunistd.h #includesys/types.h #includesignal.hvoid handler(int signo) {cout I got a signal,signo:signoendl; } int main() {signal(SIGINT,handler);while(1){cout I am activing ... pid: getpid()endl;sleep(1);}return 0; } 验证1 代码2 在代码1的基础上设置了退出码 #includeiostream using namespace std; #includeunistd.h #includesys/types.h #includesignal.hvoid handler(int signo) {cout I got a signal,signo:signoendl;exit(100); } int main() {signal(SIGINT,handler);while(1){cout I am activing ... pid: getpid()endl;sleep(1);}return 0; } 验证2 进程结束后当我们查看退出码时退出码为100 忽略信号  只需要在 signal 的 handler 参数传入 SIG_IGN即可忽略指定的信号 代码 #includeiostream using namespace std; #includeunistd.h #includesys/types.h #includesignal.hint main() {signal(SIGINT,SIG_IGN);while(1){cout I am activing ... pid: getpid()endl;sleep(1);}return 0; } 验证 可以看出当我们向进程发送 2号信号时进程忽略了 2号信号不做任何处理于是发送 9号信号终止进程
http://www.w-s-a.com/news/744158/

相关文章:

  • seo网站建站建站国外百元服务器
  • 家具网站开发设计论文企业网站里面的qq咨询怎么做
  • 网站视频提取软件app淘宝店购买网站
  • 站长之家域名解析做百度推广网站咱们做
  • 行业 网站 方案莱州网站建设公司电话
  • 丹东谁做微网站威海网络科技有限公司
  • 寻找网站建设_网站外包自助打印微信小程序免费制作平台
  • 台式机网站建设vk社交网站做婚介
  • 创建网站得花多少钱网站建设的技术路线
  • 图书馆网站建设汇报免费编程软件哪个好用
  • 手机搭建网站工具网站搜索引擎优化的基本内容
  • 网站快速排名二手交易网站开发技术路线
  • 官方网站开发公司施工企业会计王玉红课后答案
  • 网站建设能用手机制作吗网站建设所需物资
  • 阜阳做网站的公司阳江招聘网最新消息
  • 织梦可以做哪些类型型网站wordpress 融资
  • 建设银行手机银行官方网站下载安装腾讯企点账户中心
  • 品牌设计网站有哪些商务网站建设平台
  • 新增网站备案时间什么是软件外包产业
  • 张家界做网站买了网站模版怎么做
  • 六安品牌网站建设怎么样知名商城网站建设报价
  • 怎么上传自己做的网站杭州网站建设公司平台
  • 网站开发程序是什么知名的电子商务网站
  • 做pc端网站好么平台推广是什么意思
  • 农业信息网站建设意义淘宝官网首页网址
  • 重庆网站设计公司价格贵阳网站建设app开发
  • dw做网站怎么换图片编写网页所用的语言是
  • 外贸网站收录工具个人网站的备案
  • 正规的网站建设工作室海外高延迟服务器做网站
  • 网站设计确认函合肥做网站维护的公司