美文网首页C
Unix 信号之 sigaction 函数

Unix 信号之 sigaction 函数

作者: Tubetrue01 | 来源:发表于2020-12-16 16:37 被阅读0次

引言

sigaction 函数的功能是检查或修改(检查并修改)与指定信号相关的处理动作。此函数取代了早期 Unix 的 signal 函数。

1.0 函数声明

#include <sys/signal.h>

int sigaction( int signo,
               const struct sigaction *restrict act,
               struct sigaction *restrict oact
              )

1.1 参数

  • signo
    要检测或者要修改其具体动作的信号编号。
  • act
    当该参数不为 NULL 时,指定要修改的新的动作。
  • oact
    当该参数不为 NULL 时,将该信号的上一个动作(更新前的动作)保存在该对象中。

1.2 sigaction 结构体

sigaction 函数的后两个参数都用到了该结构体。

#include <sys/signal.h>

struct sigaction
{
  void (*sa_handler)(int);                      /* 信号处理函数地址 */
  sigset_t sa_mask;                             /* 信号掩码集,当调用信号处理函数时,程序将阻塞 sa_mask 中的信号 */
  int sa_flag;                                  /* 位掩码,指定用于控制信号处理过程中的各种选项 */
  void (*sa_sigaction)(int,siginfo_t*,void*);   /* 暂不用 */
}

1.3 返回值

  • 0
    函数执行成功
  • -1
    函数执行失败

参考

相关文章

网友评论

    本文标题:Unix 信号之 sigaction 函数

    本文链接:https://www.haomeiwen.com/subject/lbangktx.html