Linux信号处理机制全解析
1. 特殊信号触发条件
- 超过软处理器限制信号 :当进程超过其软处理器限制时,内核会引发特定信号。内核会每秒持续引发该信号,直至进程退出或超过硬处理器限制。一旦超过硬处理器限制,内核会向进程发送
SIGKILL信号。 - 超过文件大小限制信号(
SIGXFSZ) :当进程超过其文件大小限制时,内核会引发SIGXFSZ信号。默认操作是终止进程,但如果捕获或忽略该信号,会导致文件大小超过限制的系统调用将返回 -1,并将errno设置为EFBIG。
2. 基本信号管理
2.1 signal() 函数
signal() 函数是最简单且最古老的信号管理接口,由ISO C89标准定义。其函数原型如下:
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal (int signo, sighandler_t handler);
- 功能 :成功调用
signal()会移除当前接收到信号
超级会员免费看
订阅专栏 解锁全文
1339

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



