UNIX系统信号处理详解
1. 常见信号及其默认处理方式
在UNIX系统中,存在多种信号,不同信号代表不同的事件,且有各自的默认处理方式。以下是一些常见信号的介绍:
| 信号名称 | 含义 | 默认处理方式 |
| ---- | ---- | ---- |
| SIGTSTP | 终端停止信号,默认会停止进程,直到收到继续信号(SIGCONT) | 停止进程 |
| SIGVTALRM | 虚拟定时器到期信号,当使用 setitimer 系统调用设置的虚拟定时器到期时发送给进程 | 终止进程 |
| SIGPROF | 性能分析定时器到期信号,当使用 setitimer 系统调用设置的性能分析定时器到期时发送给进程 | 终止进程 |
| SIGXCPU | CPU时间限制超出信号,当进程超出其CPU时间限制时发送 | 终止进程并生成核心文件 |
| SIGXFSZ | 文件大小限制超出信号,当进程超出其最大文件大小限制时发送 | 终止进程并生成核心文件 |
所有版本的UNIX都提供上述列表中的前15种信号。大多数现代UNIX版本提供作业控制信号,许多还提供与定时器相关的信号。其他信号不太常见,不同版本的UNIX可能有也可能没有,并且有些版本可能提供上述列表中未出现的信号。
2. 基本信号处理
在这部分,我们将介绍基于最古老和最简单信号接口的基本信号处理方法。这些函数在所有UNIX版本中都可用,并且足以满足大多数使用场景。
2.1 发送信号
在UNIX系统中,可使用 kil
超级会员免费看
订阅专栏 解锁全文
4135

被折叠的 条评论
为什么被折叠?



