Linux信号处理机制

本文介绍了Linux信号处理机制,包括信号的执行时机、信号与线程的关系。信号是一种异步软中断,用于进程间通信,常见操作包括忽略、终止进程、生成核心转储等。信号分为可靠和不可靠两类,处理函数可自定义。在多线程进程中,信号处理发生在进程级别,随机选择未阻塞信号的线程执行。
摘要由CSDN通过智能技术生成

 戳蓝字「TopCoder」关注我们哦!

信号是一种异步处理的软中断,内核会发送给进程某些异步事件,这些异步事件可能来自硬件,比如除0或者访问了非法地址;也可能来自其他进程或用户输入,比如ctrl+c。

信号是一种进程间通信机制,信号都有一个对应的默认处理行为,信号触发时,信号处理函数和进程正常的执行流程同时存在,这会给编程带来隐患,如果信号处理函数中调用了不可重入函数的话。信号同其他进程间通信技术(管道、共享内存)相比,传递的信息还是有限的,由于信息较少所以也方便管理,一般在系统管理中使用,比如终止或者恢复进程等。    ·

信号的默认处理操作有:

  • 显式地忽略信号:即内核将会丢弃该信号,信号不会对目标进程产生任何影响。

  • 终止进程:很多信号的默认处理是终止进程,即将进程杀死。

  • 生成核心转储文件并终止进程:进程被杀死,并且产生核心转储文件。核心转储文件记录了进程死亡现场的信息。用户可以使用核心转储文件来调试,分析进程死亡的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值