raise

来自cppreference.com
< c‎ | program
在标头 <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 The raise function (第 194-195 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.14.2.1 The raise function (第 267 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.14.2.1 The raise function (第 248 页)
  • C89/C90 标准(ISO/IEC 9899:1990):
  • 4.7.2.1 The raise function

参阅

为特定的信号设置信号处理函数
(函数)