Chinaunix首页 | 论坛 | 博客
  • 博客访问: 450295
  • 博文数量: 88
  • 博客积分: 2677
  • 博客等级: 少校
  • 技术积分: 893
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-13 08:01
文章分类

全部博文(88)

文章存档

2017年(3)

2016年(1)

2012年(4)

2011年(4)

2010年(57)

2009年(19)

我的朋友

分类: LINUX

2009-07-14 14:30:39

signal就是进程之间相互联络通信的结构。可以用在想临时停止正在执行中的进程,而去处理其他的进程的情况下。signal已经被装在在Linux Kernel中了。

 signal种类有来至keyboard的中断插入「SIGINT」和浮点数异常错误(Floating point exception)「SIGFPE」和进程终了「SIGTERM」等,共准备了30多种。

同时,这些信号分为由根据程序(进程)自身的动作而发生的[同步signal]和由外界因素引起发生的[非同步signal]两种。

 signal具体的动作如下。想在某些进程执行中插入其他处理时,从而使得Kernel发生signal。signal一旦发生就中断执行中的进程,而执行特定的相应处理。(图1)。

 这个特定的处理就将呼叫[signal handler]信号处理函数。因为signal是突然发生的东西,所以想执行的signal的处理,预先登录到了[signal handler]信号处理函数中。

 
图1 [signal handler]信号处理函数的动作。想插入某些处理情况下,kernel将引发signal。
signal一发生就将中断执行中的进程,从而去执行特定的处理。
 
阅读(1363) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~