信号管理基础与应用详解
1. 基本信号行为设置
在信号处理中,有两个重要的常量用于设置信号的行为:
- SIG_DFL :将 signo 指定的信号行为设置为默认行为。例如,对于 SIGPIPE 信号,进程会终止。
- SIG_IGN :忽略 signo 指定的信号。
signal() 函数用于设置信号的处理方式,它返回信号的前一个行为,可能是信号处理函数的指针、 SIG_DFL 或 SIG_IGN 。如果出现错误,函数返回 SIG_ERR ,并且不会设置 errno 。
2. 等待信号
pause() 是一个由POSIX定义的系统调用,在调试和编写示例代码时非常有用。它会使进程进入睡眠状态,直到接收到一个被处理或会终止进程的信号:
#include <unistd.h>
int pause (void);
只有当接收到一个被捕获的信号时, pause() 才会返回。此时,信号会被处理, pause() 返回 -1,并将 errno 设置为 EINTR 。如果
超级会员免费看
订阅专栏 解锁全文
4462

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



