转 sigaction 函数说明
2008-12-14 11:37
204 查看
转 sigaction 函数说明
LEIWEI77 发表于 2008-5-12 18:21:000 推荐 此文转自Angelmejlu的文章===http://blog.csdn.net/Angelmejlu/archive/2008/04/18/2305802.aspx ============================================== sigaction函数是用作检查/修改与指定信号相关联的处理动作. 在UNIX早期版本中使用signal, 后来改用了sigaction, 可见它的功能比signal要强大. 另外, signal函数也是可以用sigaction实现的. 1. sigaction原型: #i nclude <signal.h> int sigaction(int signo, const struct sigaction *restrict act, struct sigaction *restrict oact); 成功则返回0, 出错则返回-1. 首先说一下struct sigaction这个结构: structsigaction { void (*sa_handler)(int); sigset_t sa_mask; /* additional signals to block */ int sa_flags; /* signal options */ /* alternate handler */ void (*sa_sigaction)(int, siginfo_t *, void *); } sa_hanlder: 一个带有int参数的函数指针, 或者SIG_IGN(忽略), 或者SIG_DFL(默认). sa_mask: 信号屏蔽字(集). 当该信号处理函数返回时, 屏蔽字恢复. sa_sigaction: 替代的信号处理程序, 当使用了SA_SIGINFO标志时, 使用该信号处理程序. 对于sa_flags和siginfo结构, 具体参考APUE 262页. 2. 实例: 用sigaction实现signal: typedef void (*sig_func)(int); sig_func *signal(int signo, sig_func *func); { structsigaction act, oact; act.sa_handler =func; sigemptyset(&act.sa_mask); act.sa_flags = 0; if (sigaction(signo,&act, &oact) < 0) returnSIG_ERR; return oact.sa_hanlder; } |
相关文章推荐
- sigaction 函数说明
- struct sigaction 和信号处理函数的一些说明
- ★实验10-2 1. 编写程序测试sigaction()函数。 2. sa_flags 设置为以下标志时,程序的行为有何不同。 对比程序运行情况予以说明。 SA_SIGINFO SA_NOCLDST
- linux文件操作之open函数说明
- 有关函数定义的说明
- getsockopt/setsockopt 函数说明
- Linux下Exit和_exit函数说明
- 实验九指针1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- Linux下 fcntl 函数用法说明
- EmguCV 常用函数功能说明
- 一张图说明 函数, 实例(对象), 原型之间的关系
- javaScript call 函数的用法说明
- perl函数说明(flock)
- python 函数参数的传递(参数带星号的说明)
- strtok 与 strsep 函数说明
- php 函数中使用static的说明
- Mysql字符串截取函数SUBSTRING的用法说明
- PHP中服务器函数$_SERVER的详细参数与说明
- Python正则表达式中的 compile,search,group,groups 函数的简单说明
- [C语言]fopen()函数的参数说明