命名空间
变体
操作

raise

来自 cppreference.com
< c‎ | 程序
在头文件 <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)
{
    // Install a signal handler.
    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 函数 (p: 248)
  • C89/C90 标准 (ISO/IEC 9899:1990)
  • 4.7.2.1 raise 函数

[编辑] 参见

为特定信号设置信号处理程序
(函数) [编辑]
C++ 文档 for raise