raise函数
概要:
#include <signal.h> int raise(int sig);
描述:
该函数给当前执行程序发送信号sig。
如果调用了信号处理程序,raise函数在信号处理程序完成后返回。
参数:
int sig
信号值,ISO/IEC 9899:2018标准定义了以下信号宏:
宏 | 对应术语 | 描述 |
SIGABRT | abort | 异常终止,例如:调用abort函数引发的异常终止。 |
SIGFPE | floating-point exception | 错误的算术运算,例如:除以0或者导致溢出的运算。 |
SIGILL | illegal instruction | 检测到无效函数映像,例如:无效指令。 |
SIGINT | interrupt | 收到交互式注意信号。 |
SIGSEGV | segmentation violation | 对存储的无效访问。 |
SIGTERM | termination | 发送给程序的终止请求。 |
具体实现还可能定义以SIG和一个大写字母或者SIG_和一个大写字母开头的信号宏。
返回值:
如果成功,函数返回0;如果不成功,函数返回非0值。
范例:
|
|
输出:
signalStatus: 2
GCC编译器<signal.h>头文件中,不同信号的信号值定义如下:
#define SIGINT 2
#define SIGILL 4
#define SIGFPE 8
#define SIGSEGV 11
#define SIGTERM 15
#define SIGBREAK 21
#define SIGABRT 22
相关内容:
sig_atomic_t | 对象整数类型。 |
signal | 指定信号处理函数。 |