1

我有一个程序可以捕捉任何终止信号。目前它所做的只是 catch Ctrl + C。我希望能够捕捉Ctrl + ZCtrl + \Ctrl + C。这是我的代码的一部分。

if (signal(SIGINT, SIG_IGN) == SIG_ERR)
    fprintf(stderr,"Error: Can't catch SIGINT\n");

if (signal(SIGTERM, SIG_IGN) == SIG_ERR)
    fprintf(stderr,"Error: Can't catch SIGTERM\n");

// do stuff

我需要执行哪些其他信号来捕获Ctrl + ZCtrl + \?什么引起了SIGTERM?提前致谢。

4

1 回答 1

2

Ctrl+Z引发 SIGTSTP。Ctrl+\引发 SIGQUIT。

我不知道任何会引发 SIGTERM 的组合键,但当然您可以使用进程 IDkill -TERM <pid>替换来发送它。<pid>(或者只是kill <pid>;SIGTERM 是 的默认信号kill

请注意,您无法捕获 SIGSTOP 或 SIGKILL。

于 2016-10-13T22:05:41.783 回答