美文网首页
signal的使用

signal的使用

作者: Then丶 | 来源:发表于2020-06-25 16:27 被阅读0次

(1). SIGABRT:程序异常中止,如调用abort函数。

(2). SIGFPE:算术运算出错,如除数为0或溢出。

(3). SIGILL:非法函数映像,如非法指令。

(4). SIGINT:交互的用户按键请求,如同时按下Ctrl+C键。

(5). SIGSEGV:无效内存访问,段错误。

(6). SIGTERM:程序的中止请求。

#include <csignal>
#include <iostream>
#include <unistd.h>
using namespace std;

void signum(int num)
{
    cout << "Signal: " << num << endl;

    exit(num);
}

int main(int argc, char **argv)
{
    signal(SIGINT, signum);

    int i;
    while(true)
    {
        cout << "Go To Sleep..." << endl;
        i++;

        if(i == 10)
        {
            raise(SIGINT); //raise reSIGINT
        }
        sleep(1);
    }

    return 0;
}

相关文章

网友评论

      本文标题:signal的使用

      本文链接:https://www.haomeiwen.com/subject/duvsfktx.html