signal.h 中 signal 和 raise的用法
来源:互联网 发布:三维模型矩阵旋转源码 编辑:程序博客网 时间:2024/06/06 08:31
C标准库中使用signal.h来处理和模拟异常和按键按下的信号
#include <signal.h>
1.signal:
函数声明:void (*signal(int sig, void (*handler)(int)))(int); 用来确定当信号sig出现时,程序的处理方法.
handler有三种可能:
a.为函数,当sig出现时,执行handler函数,并结束该对信号的处理方法
void sigproc(int n,int b){ signal(SIGINT, sigproc); /* */ printf( "ctrl-c \n" ); //signal(SIGINT, SIG_DFL);}int main(){ //signal(SIGINT, sigproc); if(signal(SIGINT, sigproc) == SIG_ERR) { printf( "catch error\n" ); } //raise(SIGINT); for(;;); return 0;}
b.为SIG_DFL, 恢复信号处理的缺省行为
c.为SIG_IGN, 忽略该信号,比如signal(SIGINT,SIG_IGN), 用户按下ctrl-c,将不做任何处理
2.raise :
函数声明:int raise(int sig); 强制发送一个信号,比如模拟用户按下ctrl-c
raise(SIGINT);
0 0
- signal.h 中 signal 和 raise的用法
- signal raise alarm用法
- uboot中raise:Signal #8 caught的根本原因
- uboot中raise:Signal #8 caught的根本原因
- Linux Signal (6): 发送信号的kill和raise 函数
- Uboot中raise: Signal # 8 caught解决
- Linux Signal (3): kill和raise
- Linux Signal (3): kill和raise
- Linux Signal (3): kill和raise
- setjmp.h signal.h assert.h的用法
- signal与raise,sigaction
- signal.h和stdarg.h
- signal.h
- signal.h
- 早期版本的signal.h
- Linux Signal (3): kill和raise (转)
- 关于<signal.h>中SIG_ERR、SIG_DEL、SIG_IGN定义的问题
- 关于<signal.h>中SIG_ERR、SIG_DEL、SIG_IGN定义的问题
- 锋利的JQuery(五)
- 说说AngularJs——自定义指令(一)
- 央视报道移动互联网安全:科技巨头不惧漏洞、黑客
- 工作以后
- 剑指offer:从1到n整数中1出现的次数
- signal.h 中 signal 和 raise的用法
- 我的Android笔记(十三)——Muilti-touch 双指缩放的实现探索
- CloudFoundry部署(五):CF应用部署
- android 之 listview (一)
- poj 1740 A New Stone Game(博弈)
- shell程序设计(1)
- Xcode非ARC项目中设置部分文件ARC支持
- 傅盛:一家公司的CEO该干什么?
- 互联网思维到底是什么——移动浪潮下的新商业逻辑