std::raise()

头文件: #include<csignal> int raise(int sig)

  • 作用:
    对程序发送信号sig,同时信号处理程序被调用,信号处理程序使用std::signal()函数指定。
    如果没有使用std::signal()设置用户自定义的信号处理程序,则信号sig将被忽略或者调用默认的信号处理程序.
  • 参数:
    sig可以是ISO C99 signals:SIGABRT、SIGFPE、SIGILL、SIGINT、SIGSEGV、SIGTERM,或者是操作系统平台特定实现的值。
  • 返回值:成功返回0值,失败返回非0值。
#include <csignal>

void signal_handler(int signal) {
    std::cout << "Receive signal:" << signal << std::endl;
}

int main(int arc, char *argv[]) {
     //注册信号处理程序
    std::signal(SIGTERM, signal_handler);
    std::cout << "Sending signal:" << SIGTERM << std::endl;
    std::raise(SIGTERM);
    return 0;
}

参考:https://en.cppreference.com/w/cpp/utility/program/raise

上一篇:一些FORK函数的例子


下一篇:python调用shell命令