Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1757181
  • 博文数量: 335
  • 博客积分: 4690
  • 博客等级: 上校
  • 技术积分: 4341
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-08 21:38
个人简介

无聊之人--除了技术,还是技术,你懂得

文章分类

全部博文(335)

文章存档

2016年(29)

2015年(18)

2014年(7)

2013年(86)

2012年(90)

2011年(105)

分类: C/C++

2012-02-18 15:55:28

signal这张学习的比较痛苦,而且信号也不是太好理解,因此整理了每一个函数的作用,
同时,发现apue这张书上的和现在发行的版本之间还是有些差别的,希望自己在学习的时候要多动手
多思考。。。。。。。。。。。。。。。。
不改变信号的处理方式,就不能获得信号的当前处理方式
对信号的处理方式:
默认方式,
捕获,
屏蔽
未决的


常用函数
int kill(pid_t,int)
int raise(int signo)
向某个进程或是自己发送某个信号
unsigned int alarm(unsigned int  seconds)
设置超时,并在超时后由内核向该调用程序发送一个SIGALRM signal
alarm(sec)
......
x=alarm();
返回上次设置超时到现在剩余的超时时间
int pause(void )
使程序挂起,直至捕获一个信号
int sigemptyset(sigset_t *set)
清空信号集
int sigfillset(sigset_t *set)
填充信号集
int segaddset(sigset_t *set)
添加一个信号集
int sigdelset(sigset_t *set)
删除一个信号集
int sigismember(const  sigset_t *set,int signo);
测试某个信号是否是信号集中的信号
int  sigpending(sigset_t * set)
返回未决的信号集合
sigsuspend(const sigset_t * sigmask )
设置进程的的信号屏蔽字,使进程挂起
在进程返回前,首先会恢复进程的信号屏蔽字,并且调用信号处理程序
从信号处理程序返回,
void abort(void)
使异常程序终止
int   sigpromask(int how,const sigset_t * restrict set,
sigset_t * restrict set)
根据how设置信号的屏蔽字,并向系统返回先前的信号屏蔽字
signal(INT,SIG_HANDLER)
设置信号的信号处理程序
sigaction(how,const struct sigaction * restrict act,
struct sigaction * restrict oact)
设置信号的信号处理函数,信号屏蔽字,并返回该信号先前的信号屏蔽字
unsigned int sleep(unsigned int sec)
使进程挂起,直至进程捕捉到某信号或是进程超时
int sigsetjmp(sigjmp_buf env,int savemask)
该函数直接调用返回0,从longjmp调用则返回非0值,
如果设置savemask ,则保存进程的信号屏蔽字,并在调用siglongjmp的时候返回进程的信号屏蔽字
int siglongjmp(jmp_buf,in val)
从当前程序跳转,并返回VAL值,同时如果savemask非0,则恢复进程的信号屏蔽字

阅读(1528) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~