Linux进程 捕获信号
2011-07-05 20:37
531 查看
1 当信号发出后,可以使用signal()方法捕获信号
2.
表头文件 #include<signal.h>
功 能: 设置某一信号的对应动作
函数原型 :void (*signal(int signum,void(* handler)(int)))(int);
或者:typedef void(*sig_t) ( int ); sig_t signal(int signum,sig_t handler);
第一个参数signum指明了所要处理的信号类型,它可以取除了SIGKILL和SIGSTOP外的任何一种信号
第二个参数handler描述了与信号关联的动作,它可以取以下三种值:
一个返回值为正数的函数地址
SIGIGN 这个符号表示忽略该信号,执行了相应的signal()调用后,进程会忽略类型为sig的信号
SIGDFL 这个符号表示恢复系统对信号的默认处理
3
2.
表头文件 #include<signal.h>
功 能: 设置某一信号的对应动作
函数原型 :void (*signal(int signum,void(* handler)(int)))(int);
或者:typedef void(*sig_t) ( int ); sig_t signal(int signum,sig_t handler);
第一个参数signum指明了所要处理的信号类型,它可以取除了SIGKILL和SIGSTOP外的任何一种信号
第二个参数handler描述了与信号关联的动作,它可以取以下三种值:
一个返回值为正数的函数地址
SIGIGN 这个符号表示忽略该信号,执行了相应的signal()调用后,进程会忽略类型为sig的信号
SIGDFL 这个符号表示恢复系统对信号的默认处理
3
#include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<stdlib.h> #include<signal.h> void msg(); int main() { signal(SIGALRM,msg); alarm(5); pause(); } void msg() { printf("Get alarm signal!\n"); }
相关文章推荐
- [linux] C语言Linux系统编程-捕获进程信号
- Linux进程通讯:管道通讯、信号通讯、共享内存
- 进程通信之linux信号机制
- UNIX/Linux:向进程发信号的3种方式
- Linux 进程间通讯之信号方式
- linux进程通信----信号的处理
- Linux -- Chapter 11 进程与信号
- Linux 使用信号分别在两个进程中打印AAA和BBB
- linux_c开发(5-3)进程间通讯_信号通讯
- [Linux] 第 11章 进程与信号
- linux信号处理、killall、SIGALRM、sigaction函数和结构体、向进程发送信号
- [转] linux下的僵尸进程处理SIGCHLD信号
- Linux程序设计--进程和信号
- Linux下信号SIGCHLD处理不当产生僵尸进程的问题
- Linux -- Chapter 11 进程与信号
- linux 进程通信之信号
- 二十二、Linux 进程与信号---进程创建(续)
- [Linux] 第 11章 进程与信号
- Linux进程,信号,IPC等知识普及强文,最后讲了下gprof用法(转)