前段时间在处理延时函数时遇到过 "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);
......
}
分享到:
相关推荐
10. **more**:逐屏查看文件内容,按空格键继续,回车键查看下一行。 11. **compress/uncompress**:对文件进行压缩和解压缩,压缩后文件名后缀变为`.Z`。 12. **grep**:在文件中搜索特定字符串,`grep [options]...
【Unix入门知识详解】 Unix是一种历史悠久且广泛使用的操作系统,由贝尔实验室的Ken Thompson和Dennis Ritchie于1969年开发,最初是用汇编语言编写,后于1973年用C语言重写,这使得Unix具有了高度的可移植性,能够...
本实验报告将深入探讨如何在Unix环境下实现一个简单的文件模拟系统,包括创建目录、改变当前目录以及列出文件目录等基本功能。 首先,我们看到一个获取当前系统时间的函数`Time`。这个函数利用`ctime`库函数从`time...
是新手学习hp-ux的不错文档,包括了一些hp-ux的基本命令,是一本unix入门的不错文档
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。...
收录了97条常用的命令
这个文件集合,根据标题和描述,包含了"UNIX网络编程卷一第三版"的源码资料,这意味着它是一个关于如何在UNIX操作系统环境下进行网络通信编程的实践教程。主要使用的编程语言是C语言,这也是UNIX系统编程的经典选择...
Linux/Unix Shell编程是系统管理员和开发者日常工作中不可或缺的一部分,它是一种强大的命令行脚本语言,用于自动化系统任务,管理文件,以及与操作系统进行交互。本文将深入探讨shell编程的基础和高级概念,帮助你...
UINX命令操作,让使用者知道怎么操作
FOR DZ 7.2 UINX主机的伪静态文件 方便大家使用,直接做出来了
awk.pdf
**SecureCRT for Unix 管理工具详解** SecureCRT是一款强大的远程终端仿真程序,尤其适用于Unix系统的管理和维护。它提供了一种便捷的方式,使Windows用户能够通过SSH、Telnet、Rlogin等多种协议连接到Unix系统,...
- **服务器IP地址指定**:在独立模式下,可指定服务器IP。 - **锁定用户**:禁止用户离开其主目录,可对特定用户设定。 #### 重启服务 使用`service vsftpd restart`或`service vsftpd start`命令使配置生效。 ###...
经过3年的linux/unix开发 我觉得在开发过程中积累一些chm手册 以及 stevens的APUE,希望对大家有帮助,本压缩包包括:apue、unix-c系统函数手册;专心学习的话 三天就可以上手
介绍Unix编程艺术的一篇文章,属于软件设计范畴,并不局限于Uinx领域,是很经典的一本书。
【SUN.solaris.UINX视频教程】的Solaris_SICT系列涵盖了广泛且深入的 Solaris 操作系统的知识,适合Unix系统管理员和初学者学习。这个教程旨在帮助用户快速掌握Solaris的基本操作,系统维护技巧,以及如何进行系统...
《HTK 3.4.1在Linux/Unix平台上的代码获取与初步探索》 HTK,全称为HMM Toolkit,是由剑桥大学工程系开发的一套强大的、用于声学模型建模的开源软件包。它主要用于语音识别、合成以及其他基于隐马尔可夫模型(HMM)...