我有一个程序可以捕获任何终止信号。目前所做的只是捕捉 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
?提前谢谢。
答案 0 :(得分:2)
Ctrl + Z 引发SIGTSTP。 Ctrl + \ 引发SIGQUIT。
我不知道任何提升SIGTERM的组合键,但当然您可以使用kill -TERM <pid>
将<pid>
替换为进程ID来发送它。 (或仅kill <pid>
; SIGTERM是kill
)
请注意,您无法捕获SIGSTOP或SIGKILL。