【发布时间】:2017-02-23 04:47:52
【问题描述】:
我有一个程序可以捕捉任何终止信号。目前它所做的只是捕捉 Ctrl + C。除了 Ctrl + C 之外,我还希望能够捕获 Ctrl + Z 和 Ctrl + \。这是我的部分代码。
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 + Z 和 Ctrl + \?是什么引起了SIGTERM?提前致谢。
【问题讨论】:
-
IIRC,Ctrl+Z 引发 SIGTSTP,Ctrl+\ 引发 SIGQUIT
-
你无法捕捉到 SIGKILL 或 SIGSTOP。
-
@immibis 如果你把它放在一个答案中,我会接受它。它完美地工作
-
signal(2)的手册页列出了所有标准信号及其默认操作。您可以查看哪些终止了该列表中的进程。