一、信号的基本理解
提到信号,大部分人的第一反应都是红绿灯,没错,这就是一种信号,它给了人们提示,当各种颜色的灯亮起时我们应该做什么样的处理动作。不过 我们今天说的信号时Linux下的信号(signal), 我们回想一种场景,当我们在Linux下打开一个终端,假设现在正有一个进程在运行,它的工作就是不断循环输出“hello”,此时,当我们按下Ctrl-c时,这个进程就会被终止掉。在此,我们就可以认为Ctrl-c就是一种信号,当我们按下Ctrl-C时,就是向操作系统发出了一个信号,而对于该信号的处理动作就是终止掉当前进程。总结:
·信号一定是与特定行为紧密相关的
·信号是一种通知机制,告诉进程即将发生的事情
·信号的产生是随机的---异步产生
附:Linux下的信号(输入kill -l命令就可以看到)
二、信号的产生
我们先给出产生信号的几个条件:1.用户在终端按下某些键时,终端驱动程序会发送信号给前台。例如:Ctrl-C产生信号SIGINT,Ctrl+\产生信号SIGQUIT,SIGQUIT信