快速业务通道

基本进程通信--信号

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-18
act,oldact; act.sa_handler = usr1_handler;
act.sa_flags = SA_NODEFER|SA_RESETHAND; //SA_RESETHAND:捕获信号完成处理后,将信号处理恢复为默认处理;SA_NODEFER:完成信号处理之前如果再次收到信号,不做处理 sigaction(SIGUSR1,&act,&oldact); //对信号SIGUSR1更改默认处理方式,处理调用函数usr1_handler for(i=1;i<12;i )
{
printf("signal %d handler is:",i);
sigaction(i,NULL,&oldact); //act=NULL,检查而已
signal_process_info(&oldact); //打印信号处理方式
}
return 0;
} 执行结果: gaolu@gaolu-desktop:~$
gaolu@gaolu-desktop:~$ gcc -o sig2 systemcall2.c
systemcall2.c: In function main
systemcall2.c:37: warning: assignment from incompatible pointer type
gaolu@gaolu-desktop:~$
gaolu@gaolu-desktop:~$
gaolu@gaolu-desktop:~$
gaolu@gaolu-desktop:~$
gaolu@gaolu-desktop:~$ ./sig2
signal 1 handler is:using default handler.
signal 2 handler is:using default handler.
signal 3 handler is:using default handler.
signal 4 handler is:using default handler.
signal 5 handler is:using default handler.
signal 6 handler is:using default handler.
signal 7 handler is:using default handler.
signal 8 handler is:using default handler.
signal 9 handler is:using default handler.
signal 10 handler is:use handler: c0000000.
signal 11 handler is:using default handler.
gaolu@gaolu-desktop:~$
************************************************************************************* 信号值小于SIGRTMIN的信号都是不可靠信号.对于UNIX系统而言,不可靠信号的含义有2个: (1)可能对信号采用错误的处理 捕捉到不可靠信号并处理以后,可能将信号的处理方法恢复到系统默认的处理方法.因此每次处理以后,都要重新设置信号处理函数. 拥有帝国一切,皆有可能。欢迎访问phome.net(2)存在信号丢失的可能 比如sleep()或者pause()时可能捕捉不到信号. 在Linux系统下,不可靠信号仅指信号的丢失,系统对不可靠信号机制做了改进,不需要重新设置信号处理函数. 考虑到代码的可移植性,使用较多的是sigaction()函数. **************************************************************************************

拥有帝国一切,皆有可能。欢迎访问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号