信号概念理解:信号就是一种中断,通知我们发生了某件事情,打断我们当前的操作,让我们去处理这个事情。信号能够通知事件的发生,进程必须能够识别这个信号,并且信号与事件一一对应
查看信号:kill -l
信号的分类:62种
非可靠信号:1~31信号,从Unix就有的信号,每个信号在系统中都有对应的事件,不可靠的,有可能会丢失的事件
可靠信号:34~64信号,后来扩充的32种信号,扩充定义的时候并没有具体对应的事件,可靠的不会丢失的事件
信号的生命周期,有四个阶段:信号的产生–>信号的注册–>信号的注销–>信号的处理
1.信号的产生
硬件:ctrl+C crtl+\ crtl+Z
硬件异常产生信号:除数为0
软件:kill命令,kill杀死一个进程的原理,就是,发送了一个终止信号给指定的进程,进程收到这个信号,去处理事件,结果是退出进程。例:kill ( int pid, int signum) / raise ( int signum ) / abort ( ) / alarm ( int seconds ) / sigqueue( )
软件异常产生信号:如在管道中所有读端被关闭,继续写就会发送一个SIGPIPE的信号