信号(二)信号的四个要素

时间:2024-04-12 22:39:56

一、信号的四个要素是:信号名、信号编号、信号默认动作、事件描述。

    Linux中查看各个信号详情使用命令: man 7 signal

信号(二)信号的四个要素


二、信号的编号(可以用kill -l 查看信号的编号)

    1、信号的分类

        ①常规信号:信号编号1-31号的信号

        ②实时信号:信号编号32-64的信号

    2、为什么上图中有些信号的有三个编号?

        答:三个值分别是三个不同CPU架构对应的值,其中中间值是X86和ARM对应的信号编号。


三、信号的默认处理动作(action)

    1、信号默认处理动作共有5种:

        ①Term:终止进程

        ②Ign:忽略信号

        ③Core:终止进程,生成core文件(该文件用于查验进程死亡原因,用于gdb调试)

        ④Stop:停止(暂停)进程

        ⑤Cont:继续运行进程

    2、特别注意 9)SIGKILL 和 19)SIGSTOP,不可以忽略、屏蔽和捕捉,只能执行默认的动作。


四、信号名和事件描述

    信号名要注意 19)SIGSTOP 和 20)SIGTSTP。具体信号描述可以查看APUE第三版P252。


五、信号的产生

    1、按键产生信号

        ①Ctrl + c : 2)SIGINT (终止/中断)   “INT”=“interrupt”

        ②Ctrl + z : 20)SIGTSTP(暂停/停止) “T”=“terminal”

        ③ Ctrl + \: 3)SIGQUIT(退出)

    2、硬件异常产生的信号

        ①除0操作: 8)SIGFPE(浮点数例外)

        ②非法访问内存: 11)SIGSEGV(段错误)

        ③总线错误: 7)SIGBUS