10.UNIX 环境高级编程--信号

信号产生,内核在进程表中以某种形式设置一个标志
信号处理:
1.忽略 ( SIG_IGN )
2.捕获 ( 函数地址 )
3.执行系统默认 ( SIG_DEL )

shell 会自动将后台进程对  SIG_INT,SIG_QUIT 的处理方式设置为忽略
早期版本,进程接收到信号对其处理时,将该信号动作重置为默认值。
信号发生后,到调用信号处理程序有个时间窗口,在此期间有可能另外一次信号中断。第二个中断会执行默认程序,从而造成终止该进程。
早期版本还有一个问题,进程不希望某种信号发生时,它不能关闭该信号,能做的只是忽略该信号。
一个系统调用可能被阻塞,阻塞时来了个信号,就会被中断。
早期系统,如果进程在执行一个低速系统调用而阻塞期间捕获到一个信号,而该系统调用就被中断而不再继续执行。
低速系统调用值得是可能会使进程用于阻塞的一类系统调用。
可重入函数(全局变量会被改变)
在信号产生(generation),和递送(delivery)之间的时间间隔内,称信号是未决(pending)的
raise() 允许进程向自身发送信号
sleep() 的实现,是  alarm(), pause()
许多系统已经用 sigaction 实现 signal


  http://blog.youkuaiyun.com/u010027547/article/details/48656173

  http://blog.youkuaiyun.com/smstong/article/details/50728022





1.引言


2.信号概念


3.函数 signal


4.不可靠信号


5.中断的系统调用


6.可重入函数


7.SIGCLD语义


8.可靠信号术语和语义


9.函数 kill 和 raise

 

10.函数 alarm 和 pause


11.信号集


12.函数 sigprocmask


13.函数 sigpending


14.函数 sigaction


15. 函数 sigsetjmp 和 siglongjmp


16. 函数 sigsuspend


17.函数abort


18.函数 system


19.函数 sleep,nanosleep和clock_nanosleep


20.函数 sigqueue


21.作业控制信号


22.信号名和编号




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值