用sigaction( )处理信号
来源:互联网 发布:网络语言稳是什么意思 编辑:程序博客网 时间:2024/04/30 06:52
sigaction函数的功能是检查或(/并)修改与指定信号相关联的处理动作.建议使用sigaction, 而不是signal函数, 后者较老,不可靠.
#include <signal.h>int sigaction( int signo, const struct sigaction *restrict act, struct sigaction *restrict oact);返回值:若成功则返回0,若出错则返回-1act指针非空, 则修改信号的动作;oact指针非空, 则返回该信号的上一个动作.
结构体介绍:struct sigaction { void (*sa_handler)(int); /* addr of signal handler, or SIG_IGN, or SIG_DFL */ sigset_t sa_mask; /* additional signals to block */ int sa_flags; /* signal options */ /* alternate handler */ void (*sa_sigaction)(int, siginfo_t *, void *);};
代码实例:
static int g_quit;static void handle_signal(int sig){if (SIGINT == sig || SIGTERM == sig)g_quit = 1;}static struct sigaction sigact = {.sa_handler = handle_signal,};int main(void) {int ret = 0;ret = sigaction(SIGINT, &sigact, NULL);ret |= sigaction(SIGTERM, &sigact, NULL);if (ret) {printf("%s line%d: %s\n",__FILE__, __LINE__, strerror(errno));return -1;}do {if (g_quit == 1)break;} while(1);return 0;}
参考: 信号之sigaction函数 http://www.cnblogs.com/nufangrensheng/p/3515945.html
阅读全文
0 0
- 用sigaction( )处理信号
- sigaction 信号处理
- 信号处理函数sigaction()
- sigaction信号处理
- 信号处理——sigaction
- c的信号处理sigaction
- signal信号和sigaction信号处理机制
- Linux下信号处理函数sigaction
- sigaction函数及信号的处理方式
- Linux异步信号处理之sinal sigaction
- 信号处理:signal和sigaction的区别
- sigaction函数嵌套处理信号简单介绍
- C++ signal和sigaction信号处理
- 信号处理signal与sigaction函数
- 两个版本的system 第二个版本用sigaction设置了信号处理
- struct sigaction 和信号处理函数的一些说明--1
- struct sigaction 和信号处理函数的一些说明
- sigaction(查询或设置信号处理方式)
- (3)假设程序运行时输入123456
- 数据库登录注册创建角色
- 云星数据---mesos实战系列003】:marathon实战001--使用marathon部署一个最简单的容器服务
- 201312-3 最大的矩形
- 模拟器
- 用sigaction( )处理信号
- 6.13
- 求1+2+3+4……+n的值
- tf.reshape (API r1.3)
- 实验3-栈和队列——表达式求值(2132)
- Go net/http 超时机制完全手册
- 线程池
- continue语句与break语句的区别
- Tomcat之HOST标签案例理解多域名设置(Windows版)