信号
1.每种信号干什么,什么情况下产生都是事先预定好的,linux下提前定义了64种信号,特定条件下产生特定的信号,每种信号都有默认的执行动作
2.信号的原理:
类似于硬件中断,软中断,优先级高于其他操作,一个进程把信号发给内核,内核通过pid发给相应的进程,进程收到后执行相应的动作
3.信号的处理方式:
1.执行默认动作,大概有5类,term,ign,core,stop,cont
2.丢弃
3.执行自定义的动作
4.信号的四要素:
1.信号宏
2.信号编号
3.信号默认处理动作
4.信号的描述。描述信号是怎么产生的
5.64中信号中,SIGKILL和SIGETOP信号不能被捕获,不能丢弃,只能执行默认的处理动作
6.有的信号编号有好几个,这个代表特定操作系统下有特定的值,linux下是中间的值
7.常用signal
signal函数:注册信号自定义处理函数,
调用处理函数:内核
kill:给执行进程发送指定信号,父进程可以给子进程发,子进程也可以给父进程发,进程也可以给自己发
raise:自己给自己发
abort: