sigaction()函数
sigaction函数
修改信号处理动作(通常在Linux用其来注册一个信号的捕捉函数)
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 成功:0;失败:-1,设置errno
参数:
act:传入参数,新的处理方式。
oldact:传出参数,旧的处理方式。 【signal.c】
struct 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);
};
sa_restorer:该元素是过时的,不应该使用,POSIX.1标准将不指定该元素。(弃用)
sa_sigaction:当sa_flags被指定为SA_SIGINFO标志时,使用该信号处理程序。(很少使用)
重点掌握:
① sa_handler:指定信号捕捉后的处理函数名(即注册函数)。也可赋值为SIG_IGN表忽略 或 SIG_DFL表执行默认动作
② sa_mask: 调用信号处理函数时,所要屏蔽的信号集合(信号屏蔽字)。注意:仅在处理函数被调用期间屏蔽生效,是临时性设置。
③ sa_flags:通常设置为0,表使用默认属性。
/*** signaction.c ***/ #include<stdio.h> #include<stdlib.h> #include<errno.h> #include<unistd.h> #include<signal.h>void docatch(int signo) {printf("%d signal is catch\n",signo); }int main() {int ret;struct sigaction act;act.sa_handler = docatch;sigemptyset(&act.sa_mask);sigaddset(&act.sa_mask,SIGQUIT);act.sa_flags = 0;ret = sigaction(SIGINT,&act,NULL);if(ret < 0 ){perror("sigaction error");exit(1);}while(1);return 0; }
转载于:https://www.cnblogs.com/wanghao-boke/p/11333984.html
sigaction()函数相关推荐
- sigaction 函数,sigemptyset()函数,fcntl()函数,isatty()函数
第一个函数:使用 sigaction函数: signal 函数的使用方法简单,但并不属于POSIX标准,在各类UNIX平台上的实现不尽相同,因此其用途受 到了一定的限制.而 POSIX标准定义的信号处 ...
- sigaction函数解析
sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作). 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该 ...
- UNIX环境编程学习笔记(25)——信号处理进阶学习之 sigaction 函数
lienhua34 2014-11-05 sigaction 函数跟 signal 函数一样,用于设置信号处理函数.此函数是用于取代 UNIX 早期版本使用的 signal 函数.UNIX 早期版本的 ...
- sigaction函数使用实例
sigaction函数 (1)sigaction函数原型 sigaction函数用来查询和设置信号处理方式,它是用来替换早期的signal函数.sigaction函数原型及说明如下: sigactio ...
- Linux 进程学习(四)------ sigaction 函数
转自:http://www.cnblogs.com/wblyuyang/archive/2012/11/13/2768923.html 使用 sigaction 函数: signal 函数的使用方法 ...
- 信号的捕捉与sigaction函数
一.内核如何实现信号的捕捉 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号.由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下: 1. 用户程序注册了SI ...
- 信号、signal 函数、sigaction 函数
文章目录 1.信号的基本概念 2.利用 kill 命令发送信号 3.信号处理的相关动作 4.信号与 signal 函数 4.1 signal 函数示例一 4.2 signal 函数示例二 5.利用 s ...
- 信号的用法,signal函数、sigaction函数及信号集(sigemptyset,sigaddset)操作函数
信号是与一定的进程相联系的.也就是说,一个进程可以决定在进程中对哪些信号进行什 么样的处理.例如,一个进程可以忽略某些信号而只处理其他一些信号:另外,一个进程还可以选择如何处理信号.总之,这些总与特定 ...
- sigaction函数中关于sa_mask的解释
使用 man sigaction 查看手册,对sa_mask的描述是这样的: sa_mask specifies a mask of signals which should be bloc ...
- linux sigaction函数 sa_flags的值
开始对sa_flags有疑问,网上搜到都是这一个程序,就复制来说事: 代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 ...
最新文章
- 谷歌宣布对外开放聊天机器人数据分析平台Chatbase
- 第四章第五章 环境搭建和24个命令总结
- MATLAB编程与应用系列-第2章 数组及矩阵的创建及操作(4)
- SpringMVC(二)——转发和重定向、处理前端请求的数据(普通字符串/对象)
- Python自动化开发学习22-Django上
- MFC框架机制详细论述
- 别只关注GPT3!细如发丝的模型更具现实杀伤力!
- html加上百度统计,vue单页面应用加入百度统计
- php ajax传值中文乱码问题,PHP Ajax JSON中文乱码各种问题解决办法
- Ubuntu18 安装yum
- bzoj 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场(DFS)
- python supervisor_Supervisor捕获不到python的Print
- android studio | openGL es 3.0增强现实(AR)开发 (5) GLSurfaceView浅解
- 直接选择排序和冒泡排序
- 吉林大学计算机数据中心排名,2018年度中国医院排行榜发布,吉大一院跻身50强!...
- 简单使用Search()函数
- html用手机什么软件能编写,目前编写一款简单的手机应用APP一般用什么编程语言?...
- 计算机知识竞赛赛制,知识竞赛活动规则
- 安卓商城选择商品规格
- 计算机安装系统有哪些东西,重装系统电脑里的东西还有吗|电脑重装系统后原来的东西还在吗...
热门文章
- 微信小程序常见问题集合(长期更新)
- android123 zhihuibeijing 新闻中心-新闻 页签 ViewPagerIndicator实现
- Sharepoint 2013 发布功能(Publishing features)
- java hashtable put_Java Hashtable put()方法与示例
- mysql定时清空表数据_Mysql实现定时清空一张表的旧数据并保留几条数据
- 大头贴计算机教程,推荐!自家电脑也能拍大头贴的秘密
- play 连接mysql_Play framework 2.x 连接mysql | 学步园
- windows如何调用Linux的API,Windows和Native API中的系统调用?
- PE 头文件 IMAGE_NT_HEADER
- arduino 机器视觉编程_万物皆可仿真的MATLAB/Simulink神奇在哪?解析如何将其应用于一整套机器人设计开发流程...