1.信号的定义及处理方式:
信号是系统响应某个条件而产生的事件,进程接收到信号会执行相应的操作(通知进程产生了某个事件),由其他进程或者内核发送信号,当收到一个信号,按照3种处理方式(响应):1.默认 2.忽略 3. 自定义
通过signal()来改变信号的响应方式;通过kill()发送信号。
把可能发生的事件全部进行了编号(每一个信号都有一个编号:如2号信号,键盘按下Ctrl+c时,就会产生该信号;9号信号是按默认的响应方式,其响应方式不允许改变;17号信号,子进程结束以后,会默认给父进程发送该信号),以便该事件发生后以对应的编号来通知。
与信号有关的系统调用在“signal.h”头文件中有声明
常见信号的值,及对应的功能说明:
接下来在程序中演示2号信号(容易实现)。 在键盘上按下 Ctrl+c 时,会给当前终端前台执行的进程发送 SIGINT 信号