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);

更新于:26-6 月-2020

330 次观看

开启您的职业生涯

完成课程以获得认证

立即开始
广告