C/C++ 中 raise() 函数
raise() 函数用于向程序发送信号。调用预定义函数 signal()。实现此函数是为了检查它是否会忽略该信号或调用信号处理程序。它在“signal.h”头文件中进行声明。如果成功,则返回零,否则返回非零值。
以下是 C 语言中 raise() 的语法:
int raise(int signal)
此处:
signal − 要调用的信号号。
以下是 C 语言中 raise() 的一个示例:
示例
#include <signal.h> #include <stdio.h> void handler(int sig) { printf("Signal received : %d\n", sig); } int main() { signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL); return 0; }
输出
Sending signal : 4 Signal received : 4
在上述程序中,在 main() 函数之前定义了一个函数处理程序,在 main 函数中调用 signal() 并发送和接收 SIGILL(信号非法指令)。
signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL);
广告