快速业务通道

Linux 信号集

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

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

Linux信号集

Empire CMS,phome.net
1. 信号集概念

信号集是一个能表示多个信号的数据类型,sigset_t set set即一个信号集.

既然是一个集合,就需要对集合进行添加/删除等操作.

int sigemptyset(sigset_t *set);

Empire CMS,phome.net
set集合置空

int sigfillset(sigset_t *set) 将所有信号加入set集合

int sigaddset(sigset_t *set,int signo); signo信号加入到set集合

Empire CMS,phome.net

int sigdelset(sigset_t *set,int signo); set集合中移除signo信号

int sigismember(const sigset_t *set,int signo); signo判断信号是否存在于set集合中

Normal 0 7.8 磅

Empire CMS,phome.net
0 2 false false false MicrosoftInternetExplorer4

代码举例:

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<sys/types.h>
  4. Empire CMS,phome.net
    #include<sys/stat.h>
  5. #include<signal.h>
  6. int main()
  7. {
  8. sigset_t sigset;
  9. sigfillset(&sigset);/*填充所有信号*/
  10. if(sigismember(&sigset,SIGINT))/*判断SIGINT*/
  11. printf("SIGINT exist in signal_set!\n");
  12. if(sigismember(&sigset,SIGTERM))
  13. printf("SIGTERM exist in signal_set!\n");
  14. if(sigismember(&sigset,SIGABRT))
  15. printf("SIGABRT exist in signal_set!\n");
  16. if(sigdelset(&sigset,SIGINT)<0)/*移除SIGINT*/
  17. perror("del error\n");
  18. else
  19. printf("SIGINT have been removed!\n");
  20. if(sigismember(&sigset,SIGINT))
    Empire CMS,phome.net
    MicrosoftInternetExplorer4

    <4>检测被搁置信号

    Int sigpending(sigset_t *set);

    返回对于调用进程被阻塞不能递送和当前未决的信号集.该信号集通过s e t参数返回.

    Empire CMS,phome.net

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

分享到: 更多
上一篇: 初学linux的感受下一篇: linux--vim

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号