C++ signal的使用
1. 头文件
#include <signal.h>
#include <signal.h>
2. 功能
设置某一信号的对应动作
设置某一信号的对应动作
3. 函数原型
void (*signal(int signum,void(* handler)(int)))(int);
void (*signal(int signum,void(* handler)(int)))(int);
分解来看:
typedef void (*sig_t) (int);
sig_t signal(int sig, sig_t func);
第一个参数是目标信号。func参数是一个指针,指向某个处理该信号的函数。这个处理信号函数带有一个int型参数,并应返回void。
func参数也可以设定为下面的一些值:
SIG_IGN: 如果func参数被设置为SIG_IGN,该信号将被忽略。
SIG_DFL: 如果func参数被设置为SIG_DFL,该信号会按照确定行为处理。
typedef void (*sig_t) (int);
sig_t signal(int sig, sig_t func);
第一个参数是目标信号。func参数是一个指针,指向某个处理该信号的函数。这个处理信号函数带有一个int型参数,并应返回void。
func参数也可以设定为下面的一些值:
SIG_IGN: 如果func参数被设置为SIG_IGN,该信号将被忽略。
SIG_DFL: 如果func参数被设置为SIG_DFL,该信号会按照确定行为处理。