信号:
中断:中止、暂停当前正在执行的进程,转而去执行其它的任务。
分类:1.硬中断:来自硬件设备的中断
2.软中断:来自其它程序的中断
而信号就属于软件中断,它提供了一种处理异步事件的方法。
信号的分类:
不可靠信号(这里不可靠指的是信号可能会丢失)
1.编号小于SIGRGMI(34)的信号都是不可靠的,这些信号是建立在早期的信号机制上的,一个事件发生可能会产生多次信号。
2.不可靠信号不支持排除,在接收信号的时候可能会丢失,如果一个发给一个进程多次,它可能只接收到一次,其它的可能就丢失了。
3.进程在处理这种信号的时候,哪怕设置的信号处理函数,当信号处理函数执行完毕后,会再次恢复成默认的信号处理方式。
可靠信号(实时)
1.位于[SIGRGMI(34),SIGRTMAX(64)]区间的都是可靠信号。
2.可靠信号支持排除,不会丢失。
3.无论是可靠信号还是不可靠信号都是通过:kill、signal、sigqueue、sigaction函数进行处理。
LInux下可以通过 kill -l 查看信号列表
信号处理方式:
1.忽略:大多数信号都可使用这种方式进行处理,但SIGKILL、SIGSTOP这两个信号绝对不能被忽略:它们向内核和超级用户提供了使进程终止或停止的可靠方法。 &n