信号处理是Unix和LInux系统为了响应某些状况而产生的事件

信号处理是Unix和LInux系统为了响应某些状况而产生的事件,通常内核产生信号,进程收到信号后采取相应的动作。

例如当我们想强制结束一个程序的时候,我们通常会给它发送一个信号,然后该进程会捕捉到信号,紧接着该进程执行一定操作后最终被终止掉。不仅仅如此,通常下面几种情况

  ①键盘事件(ctrl+c、ctrl+\)

  ②访问非法内存 

  ③硬件故障(如算术运算执行除以0操作

  ④ 环境切换

都会有信号的产生,而对这些产生的信号是需要让进程来处理的,进而信号也被作为进程间通信或修改行为的一种方式,是可明确地由一个进程发送给另一个进程的。一般当一个信号的产生时,我们把它叫作信号生,对一个信号接收到叫信号捕获。关于信号的捕获例子是比较多的,这里列举平时可能经常遇到的几个,其它可自行查询(~v~虽然比较多)

猜你喜欢

转载自www.cnblogs.com/kwanchan/p/9021041.html
今日推荐