ITPub博客

首页 > 应用开发 > > sigaction函数学习

sigaction函数学习

作者:xzwsun 时间:2019-09-02 14:42:59 0 删除 编辑

sigaction(查询或设置信号处理方式)

相关函数 signal,sigprocmask() ,sigpending,sigsuspend, sigemptyset

表头文件 #include

定义函数 int sigaction(int signum,const struct sigaction *act ,struct sigaction *oldact);

函数说明 sigaction()会依参数signum指定的信号编号来设置该信号的处理函数。参数signum可以指定SIGKILL和SIGSTOP以外的所有信号。

如参数结构sigaction定义如下

struct sigaction {

void (*sa_handler)(int);

void (*sa_sigaction)(int, siginfo_t *, void *);

sigset_t sa_mask;

int sa_flags;

void (*sa_restorer)(void);

}

#include <signal.h>

#include <unistd.h>

#include <stdio.h>

static void int_hander(int s)

{

printf("Catch a signal sigint\n");

}

int main(void)

{

int i;

struct sigaction act,oact;

act.sa_handler = int_hander;

sigemptyset(&act.sa_mask); //清空此信号集

act.sa_flags = 0;

sigaction(SIGINT, &act, &oact);

while(1)

{

for(i=0;i<5;i++)

{

write(1,".",1);

sleep(1);

}

write(1, "\n", 1);

}

sigaction(SIGINT, &oact, NULL); //恢复成原始状态

return 0;

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2567/viewspace-3118815/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: NumPy学习笔记
请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    100
  • 访问量
    925