UNIX环境高级编程--第十章信号总结

1.信号是软件中断,信号提供了一种处理异步事件的方法.

2.产生信号的事件对进程来说是随机出现的,进程不能简单的测试一个变量来判别是否出现了一个信号,而是必须告诉内核"在此信号出现时,请执行下列动作."

3.内核执行的三种信号处理动作:

    (1)忽略此信号:有两个信号--SIGKILL和SIGSTOP不能忽略.

    (2)捕捉信号:通知内核在某种信号发生时调用一个用戶函数,在用戶函数中,可执行用糊希望对这种事件进行的处理.---信号捕捉函数.KI

    (3)默认动作

4.kill只是将一个信号送给一个进程或进程组.

5.当捕捉到某个信号时,被中断的是内核中执行的系统调用.

6.如果一个进程在执行一个低速系统调用而阻塞期间捕捉到一个信号,则该系统调用就被中断不再继续执行.

7.每一个进程都有一个信号竮閉字,它规定了当前要阻塞递送到该进程的信号集,对于每种可能的信号,该竮閉字中都有一位与之对应.

8.UNIX系统在经过一段时间后会重新使用进程ID,所以一个现有的具有所给定的进程ID并不一定就是你想要的进程.

9.使用alarm的函数可以设置一个计时器,在将来某个指定的时间该计时器会超時,当计时器超时时,产生SIGALRM函数.

10.pause函数使调用进程挂起,直至捕捉到一个信号.

你可能感兴趣的:(UNIX环境高级编程--第十章信号总结)