1.信号是什么?
可以直接通过内核对进程进行操作的手段,信号被记录在PCB(进程控制块)里,当进程被杀死后,PCB也就是留下的尸体,包含了该进程的死亡信息
流程:
1.触发发送信号操作
2.由用户空间转为系统内核操作,对进程PCB施加信号
3.回到用户空间前会逐一检查各PCB中的信号
解释3(因为信号操作必定进入系统内核,所以在每次从系统内核回到用户空间时都会“顺便”检查是否有递达的信号,而不是触发一次信号就进一次内核,而是每次从内核切换出来时“顺便”检查,处理了一个信号,,,以此提高了效率)
2.信号种类
常规与实时,区别在后续有写,比如5,
TERM,CORE,STOP等等,分别有各自的功能
CORE:杀死程序的同时会执行内核转储,生成一个core.pid的文件,可用gdb打开,bt指令查看其程序终止原因
要想生成core文件,需要设置core文件大小,默认为0
3.发送信号指令
kill:向任意进程发送任意信号
reise:向自身发送信号
abort:特殊,结束自身进程,且无返回,但会进行内核转储
4.a