10.14 信号_sigaction函数
来源:互联网 发布:电脑听书软件 编辑:程序博客网 时间:2024/05/17 04:30
sigaction函数的功能是检查或修改指定信号相关联的处理动作(或同时执行这两种操作)。
- #include <signal.h>
- int sigaction(int signo, const struct sigation *restrict act, struct sigaction *restrict oact);
返回值:成功返回0,出错返回-1
其中,参数signo是要检查或修改其具体动作的信号编号。若act指针非空,则要修改其动作。如果oact指针非空,则系统经由oact指针返回该信号的上一个动作。此函数使用下列结构:
struct sigaction{
void (*sa_handler)(int);
sigset_t sa_mask;
int sa_flags;
void (*sa_sigaction)(int, siginfo_t *, void *);
}
当更改信号动作时,如果sa_handler字段包含一个信号捕捉函数的地址(与常量SIG_IGN或SIG_DFL相对),则sa_mask字段说明了一个信号集,在调用该信号捕捉函数之前,这一信号集要加到进程的信号屏蔽字中。仅当从信号捕捉函数返回时再将进程的信号屏蔽字复位为原先值。
sa_sigaction字段是一个替代的信号处理程序,当在sigaction结构中使用了SA_SIGINFO标志时,使用该信号处理程序。对于sa_sigaction字段和sa_handler字段这两者,其实现可能使用同一存储区,所以应用程序只能一次使用这两个字段中的一个。
通常,按下列方式调用信号处理程序:
- void handler(int signo);
但是,如果设置了SA_SIGINFO标志,那么按下列方式调用信号处理程序。
- void handler(int signo, siginfo_t *info, void *context);
- 10.14 信号_sigaction函数
- LINUX信号- sigaction 函数-10.14
- 信号函数
- 信号函数
- 信号处理函数
- 常用的信号函数
- 10.3 信号_signal函数
- 10.12 信号_sigprocmask函数
- 10.13 信号_sigpending函数
- 10.16 信号_sigsuspend函数
- 10.17 信号_abort函数
- 10.18 信号_system函数
- 10.19 信号_sleep函数
- 信号处理相关函数
- 信号处理函数 signal
- 信号处理函数
- 信号集操作函数
- 信号处理相关函数
- 审查Java代码的十一种常见错误
- 故地重游
- string=>dateTime
- 使用vsftpd在Ubuntu 9.10 下配置ftp
- 异步IO、APC、IO完成端口、线程池与高性能服务器
- 10.14 信号_sigaction函数
- postgresql
- BT种子文件 bencoding编码详细解析
- Andriod AlertDialog
- 复变函数论里的欧拉公式
- 去掉ie7启动时的"自定义您的设置"
- Oracle Hibernate 自增列配置
- Core java学习笔记(二)
- JS中把字符转成ASCII值的函数