前段时间在处理延时函数时遇到过 "Alarm clock" 信号问题(见我的 "Unix C 延时函数小结")。现在测试中还遇到了 "Broken pipe" 信号问题,同样产生这个信号程序就中止了。
我的程序产生这个信号的原因是:
client端通过 pipe 发送信息到server端后,就关闭client端, 这时server端,返回信息给 client 端时就产生Broken pipe 信号了。
对于产生信号,我们可以在产生信号前利用方法 signal(int signum, sighandler_t handler) 设置信号的处理。如果没有调用此方法,系统就会调用默认处理方法:中止程序,显示提示信息(就是我们经常遇到的问题)。我们可以调用系统的处理方法,也可以自定义处理方法。
系统里边定义了三种处理方法:
1)SIG_DFL /* Default action */
2)SIG_IGN /* Ignore action */
3)SIG_ERR /* Error return */
项目中我调用了 signal(SIGALRM, SIG_IGN) 和 signal(SIGPIPE, SIG_IGN), 这样产生 SIGALAM 和 SIGPIPE 信号时就不会中止程序,直接把这个信号忽略掉。
自定义处理方法:
void signal_handle(ing signo)
{
//do something;
}
int main()
{
signal(SIGPIPE, signal_handle);
......
}
分享到:
相关推荐
UINX培训教材
本书描述了UNIX系统的程序设计接口,系统调用接口和标准C库提供的很多函数
文件模拟系统 uinx操作系统 实验报告
unix入门的word教程,带实例的。基于unix是sco openserver 5的,对于入门的呢很有帮助!
是新手学习hp-ux的不错文档,包括了一些hp-ux的基本命令,是一本unix入门的不错文档
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。...
一本很适合嵌入式初级学习的书籍...找的我好辛苦!!
收录了97条常用的命令
UNIX网络编程卷一第三版源码资料整理,基本覆盖了UNIX网络编程卷一的例子源码
vsftp搭建与uinx基本命令.doc
你是否还在众多而枯燥的shell编程书籍中抉择?Linux/Unix-Shell编程这本书,不仅内容全面,更重要的是简单、易学,容易上手。相信,这本书会对你有所助益!
UINX命令操作,让使用者知道怎么操作
FOR DZ 7.2 UINX主机的伪静态文件 方便大家使用,直接做出来了
awk.pdf
能方便的管理UNIX,在输入方式上类似WIN下面的操作方式.
我是从http://htk.eng.cam.ac.uk/download.shtml上注册以后下载的HTK 3.4.1 linux\uinx代码,包括工具包及样例
经过3年的linux/unix开发 我觉得在开发过程中积累一些chm手册 以及 stevens的APUE,希望对大家有帮助,本压缩包包括:apue、unix-c系统函数手册;专心学习的话 三天就可以上手
学习linux、unix shell必备书籍。高清文字版本
介绍Unix编程艺术的一篇文章,属于软件设计范畴,并不局限于Uinx领域,是很经典的一本书。
非常基础和详细的linux shell编程书籍