📜  C++ signal()

📅  最后修改于: 2020-09-26 15:51:51             🧑  作者: Mango

C++中的signal() 函数为指定的信号设置错误处理程序。

 

signal()原型

void (*signal (int sig, void (*func)(int)))(int);

signal 函数定义了一种处理信号的方法。可以设置信号处理程序,以便执行以下操作之一:

它在头文件中定义。

signal()参数

signal()返回值

成功时,它将返回先前的信号处理程序;失败时,将返回SIG_ERR。

示例:signal() 函数的工作方式

#include 
#include 
 
using namespace std;

sig_atomic_t signalled = 0;

void handler(int sig)
{
    signalled = 1;
}

int main()
{
    signal(SIGINT, handler);
    
    raise(SIGINT);
    if (signalled)
        cout << "Signal is handled";
    else
        cout << "Signal is not handled";

    return 0;
}

运行该程序时,输出为:

Signal is handled