首页 > 代码库 > C++信号处理

C++信号处理

信号是操作系统传给进程的中断,会提早终止一个程序;

  有些信号不能被捕获,下面的信号在程序中可被捕获,基于信号可采取适当的动作;

  这些信号定义在C++头文件<csignal>中;

SIGABRT:程序的异常终止,如abort;

SIGFPE:   错误的算术运算,如除以0导致的溢出;

SIGILL:     检测非法指令;

SIGINT:    接收到交互注意信号;

SIGSEGV:非法访问内存;

SIGTERM:发送到程序的终止请求。

 

signal() 函数  : 用于捕获突发事件;

  void  (*signal ( int sig ,void (*func) (int) ) ) (int);

  接收2个参数:第一个是一个整数,代表了信号的编号;第二个参数是一个指向信号处理函数的指针;

 

C++信号处理