一.信号概念
信号是进程之间事件异步通知的一种方式,属于软中断。
二.信号的产生
1.通过键盘进行信号的产生。(1-31多数都是杀掉进程)
(ctrl + c:向前台进程发送2号信号,杀掉进程)
(ctrl + z:将前台进程暂停)
(ctrl + \:终止进程)
----前台与后台
进程在运行的时候,前台进程只有一个,后台进程可以有多个。
2.通过系统调用(指令也是系统调用(kill指令))
3.由软件条件产生信号
之前学的管道,如果读端关闭,写端还在,就会杀掉进程。
4. 硬件异常产生信号
硬件异常被硬件以某种方式被硬件检测到并通知内核,然后内核向当前进程发送适当的信号。例如当前进程执行了除以0的指令,CPU的运算单元会产生异常,内核将这个异常解释 为SIGFPE信号发送给进程。
再比如当前进程访问了非法内存地址,,MMU会产生异常,内核将这个异常解释为SIGSEGV信号发送给进程。