信号是中断在进程中的模拟,中断分为异步中断和同步中断,异步中断是由外围硬件产生的,同步中断是由CPU产生的,如异常。
信号是由用户、系统或者进程发送给目标进程或者进程组的信息,通知目标进程某个状态的改变或系统异常。
例如:如果进程执行了一个被0除的操作,CPU则会产生一个“除法错误”异常,并由相应的异常处理程序向当前进程发送一个SIGFPE信号。当前进程接收到这个信号后,就要采取若干必要的步骤,或者从错误中恢复,或者终止执行(如果这个信号没有相应的信号处理程序)。
中断一般是内核需要处理的,信号是用户态进程需要处理的。