raise

来自cppreference.com
< c‎ | program
定义于头文件 <signal.h>
int raise( int sig );

将信号sig发送给程序。以signal()指定的信号处理函数将被调用。

若用户定义的信号处理策略仍未使用signal()设置,则是忽略该信号还是调用默认处理函数是实现定义行为。

目录

[编辑] 参数

sig - 欲发送之信号。它可以是实现定义值或下列值:
定义信号类型
(宏常量) [edit]


[编辑] 返回值

成功时为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()

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.14.2.1 The raise function (p: 267)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.14.2.1 The raise function (p: 248)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.7.2.1 The raise function

[编辑] 参阅

为特定的信号设置信号处理函数
(函数) [edit]
raiseC++文档