Namespaces
Variants

raise

From cppreference.net
定义于头文件 <signal.h>
int raise ( int sig ) ;

向程序发送信号 sig。使用 signal() 指定的信号处理程序将被调用。

如果尚未使用 signal() 设置用户自定义信号处理策略,则信号是被忽略还是调用默认处理程序是由实现定义的。

目录

参数

sig - 要发送的信号。可以是实现定义的值或下列值之一:
定义信号类型
(宏常量)

返回值

0 表示成功,非零值表示失败。

示例

#include <signal.h>
#include <stdio.h>
void signal_handler(int signal)
{
    printf("Received signal %d\n", signal);
}
int main(void)
{
    // 安装信号处理器
    signal(SIGTERM, signal_handler);
    printf("Sending signal %d\n", SIGTERM);
    raise(SIGTERM);
    printf("Exit main()\n");
}

输出:

Sending signal 15
Received signal 15
Exit main()

参考文献

  • C17 标准 (ISO/IEC 9899:2018):
  • 7.14.2.1 raise 函数 (p: 194-195)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.14.2.1 raise 函数 (p: 267)
  • C99标准(ISO/IEC 9899:1999):
  • 7.14.2.1 raise函数(页码:248)
  • C89/C90 标准 (ISO/IEC 9899:1990):
  • 4.7.2.1 raise 函数

参阅

为特定信号设置信号处理程序
(函数)
C++ 文档 关于 raise