raise

raise

在头文件中定义
int raise(int sig);

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

如果用户定义的信号处理策略没有使用signal()设置,那么它是由实现定义的,不管信号将被忽略还是默认处理程序将被调用。

参数

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

返回值

成功则返回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标准(ISO / IEC 9899:2011):

扩展内容

signal设置特定信号的信号处理程序(功能)

| 用于raise的C ++文档 |