码迷,mamicode.com
首页 > 系统相关 > 详细

Linux信号

时间:2015-07-25 12:02:19      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

读书笔记

 

信号是由用户/系统或进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。

Linux信号可由如下条件产生:

1).对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。比如输入Ctrl+C通常会给进程发送一个中断信号。

2).系统异常。比如浮点异常和非法内存段访问。

3).系统状态变化。比如alarm定时器到期将引起SIGALARM信号。

4).运行kill命令或者调用kill函数。

 

信号是一种异步事件:信号处理函数和程序的主循环是两条不同的执行路线。

信号处理函数需要尽可能快地执行完毕,以确保该信号不被屏蔽(为了避免一些竞态条件,信号在处理期间,系统不会再次触发它)太久。

典型的方案:信号的主要处理逻辑放在主循环中,当信号处理函数被触发时,它一般通过管道将信号传递给主循环,然后自身退出。主循环使用I/O复用系统调用来监听管道的读端文件描述符上的可读事件。

 

《Linux高性能服务器编程》

Linux信号

标签:

原文地址:http://www.cnblogs.com/bugchecker/p/basic_signal_concept_of_linux.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!