C / C ++中的raise()函数

该功能raise()用于将信号发送到程序。预定义函数signal()被调用。它用于检查是否将忽略信号或调用信号处理程序。这在“ signal.h”头文件中声明。它返回零,否则返回非零值。

这是raise()C语言的语法,

int raise(int signal)

这里,

信号-要调用的信号编号。

这是raise()C语言的示例,

示例

#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(),在主函数中定义了函数处理程序,signal()并发送和接收了SIGILL(信号非法指令)。

signal(SIGILL, handler);
printf("Sending signal : %d\n", SIGILL);
raise(SIGILL);