在C中捕获信号

时间:2016-04-28 10:54:22

标签: c process signals

我正在努力实现使用C语言在进程中捕获信号的能力。

任何人都可以帮我解决一个有效的例子吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用signal.h库。

这是一个工作示例,我在其中捕获SIGINT并将消息打印到STDOUT:

#include<stdio.h>
#include<signal.h>

void sig_handler(int signo)
{
    if (signo == SIGINT)
        write(0, "Hello\n", 6);
}

int main(void)
{
    signal(SIGINT, sig_handler);
    // Just to testing purposes
    while(1)
        sleep(1);
    return 0;
}