34、Linux 信号机制详解

Linux 信号机制详解

信号基础

信号是 UNIX 和 Linux 系统针对某些情况生成的事件,进程接收到信号后可采取相应行动。“raise”表示信号的生成,“catch”表示信号的接收。

信号可由多种错误情况触发,如内存段违规、浮点处理器错误或非法指令等。同时,shell 和终端处理程序也会生成信号以引发中断,还能在进程间显式传递信号,用于信息传递或行为修改。信号的编程接口是统一的,信号可以被生成、捕获并处理,或者(至少部分信号)被忽略。

信号名称通过包含头文件 signal.h 来定义,都以 SIG 开头,常见信号如下表所示:
| 信号名称 | 描述 |
| ---- | ---- |
| SIGABORT | 进程中止 |
| SIGALRM | 闹钟信号 |
| SIGFPE | 浮点异常 |
| SIGHUP | 挂断信号 |
| SIGILL | 非法指令 |
| SIGINT | 终端中断信号,通常通过 Ctrl+C 触发 |
| SIGKILL | 强制终止信号,不能被捕获或忽略 |
| SIGPIPE | 向无读端的管道写入时产生 |
| SIGQUIT | 终端退出信号 |
| SIGSEGV | 无效内存段访问 |
| SIGTERM | 终止信号 |
| SIGUSR1 | 用户自定义信号 1 |
| SIGUSR2 | 用户自定义信号 2 |

如果进程收到这些信号却未提前安排捕获,将立即终止,通常还会创建一个核心转储文件

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值