在How can I add signal handlers to a shell written in Py3k/Python? ,我有一些信号处理程序,它们似乎在起作用,然后让默认操作通过。对于具体实例,如果我按下 control-Z,它将显示信号处理程序指定的消息,然后(不需要的)继续暂停进程。
我如何(如果可能的话)显示消息然后忽略信号?
请您参考如下方法:
您的按键可能会触发 SIGSTOP 而不是 SIGSTP。 在您的终端中运行 stty -a 以确定分配给 ctrl+z 的确切信号。
根据维基百科(可能还有手册页)SIGSTP and SIGSTOP are different . SIGSTP 被发送到进程,因此可以被拦截,而 SIGSTOP 被操作系统接收,因此不能被拦截。
