快速业务通道

Linux进程 捕获信号

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-30

1 当信号发出后,可以使用signal()方法捕获信号

2.

表头文件 #include<signal.h>

功 能: 设置某一信号的对应动作

函数原型 :void (*signal(int signum,void(* handler)(int)))(int);

  或者:typedef void(*sig_t) ( int );   sig_t signal(int signum,sig_t handler);

第一个参数signum指明了所要处理的信号类型,它可以取除了SIGKILL和SIGSTOP外的任何一种信号

第二个参数handler描述了与信号关联的动作,它可以取以下三种值:

  • 一个返回值为正数的函数地址
  • SIGIGN 这个符号表示忽略该信号,执行了相应的signal()调用后,进程会忽略类型为sig的信号
  • SIGDFL 这个符号表示恢复系统对信号的默认处理

3

  1. #include<stdio.h>
  2. #include<sys/stat.h>
  3. #include<sys/types.h>
  4. #include<stdlib.h>
  5. #include<signal.h>
  6. void msg();
  7. int main()
  8. {
  9. signal(SIGALRM,msg);
  10. alarm(5);
  11. pause();
  12. }
  13. void msg()
    Empire CMS,phome.net
  14. {
  15. printf("Get alarm signal!\n");
  16. }
Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号