# std::raise

< cpp‎ | utility‎ | program

定义于头文件 `<csignal>` |  |
int raise( int sig ); |  |

发送信号 sig 给程序。调用信号处理函数（用 std::signal() 函数指定）。

若仍未用 std::signal() 设置用户定义的处理策略，则忽略信号还是调用默认处理函数是实现定义的。

### 参数

sig | - | 要发送的信号。可以是实现定义值或下列值之一：
SIGABRT SIGFPE SIGILL SIGINT SIGSEGV SIGTERM | 定义信号类型 (宏常量)

### 返回值

成功时为 ​0​ ，失败时为非零值。

### 示例

    #include <csignal>
    #include <iostream>

    void signal_handler(int signal)
    {
        std::cout << "Received signal " << signal << '\n';
    }

    int main()
    {
        // 安装信号处理函数
        std::signal(SIGTERM, signal_handler);

        std::cout << "Sending signal " << SIGTERM << '\n';
        std::raise(SIGTERM);
    }

可能的输出：

    Sending signal 15
    Received signal 15

### 参阅

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