C语言 <signal.h> signal 函数
-
描述
C库函数void(* signal(int sig,void(* func)(int)))(int)设置处理信号的函数,即信号编号为sig的信号处理程序。 -
声明
以下是signal函数的声明。参数- sig - 这是要发送的信号号。以下是一些重要的标准信号常数-
- SIGABRT - (信号中止)异常终止,如由函数启动。
- SIGFPE - (信号浮点异常)错误的算术运算,如除零或导致溢出的运算(不一定是浮点运算)。
- SIGILL - (信号非法指令)无效的函数图像,如非法指令。这通常是由于代码损坏或试图执行数据造成的。
- SIGINT - (信号中断)交互注意信号。通常由应用程序用户生成。
- SIGSEGV - (信号分割冲突)对存储器的无效访问——当程序试图在分配给它的内存之外读写时。
- SIGTERM - (信号终止)发送给程序的终止请求。
- func - 这是指向函数的指针。这可以是程序员定义的功能,也可以是以下预定义功能之一。
- SIG_DFL - 默认处理-该信号由该特定信号的默认操作处理。
- SIG_IGN - 忽略信号-信号被忽略。
-
返回值
此函数返回信号处理程序的先前值,如果出错则返回SIG_ERR。示例以下示例显示signal函数的用法-让我们编译并运行上述程序,它将产生以下结果,并且程序将进入无限循环。为了使用该程序,我们使用了CTRL + C键。