【发布时间】:2018-11-15 17:59:58
【问题描述】:
我想在 python 调试器停止时强制sys.exit()。当我停止调试器时,我看到Terminated: 15,所以我认为这是SIGTERM。但是,停止调试器时,我的 kill 函数没有被调用。
def kill(sig, frame):
sys.exit(0)
signal.signal(signal.SIGINT, kill)
signal.signal(signal.SIGTERM, kill)
停止vscode调试器时,发送什么信号?
编辑:
刚刚尝试了所有这些。没有爱
for s in signal.Signals:
try:
signal.signal(s, self._kill)
except:
pass
【问题讨论】:
-
SIGHUPorSIGSEGVorSIGSTOP? -
@Torxed 不走运
-
this 看看是否有什么触发?编辑了我的第一条评论,我认为是
SIGSTOP。 -
您是否在 kill 函数中添加了打印语句或其他内容,或者尝试使用
python -m trace --trace script.py执行它(如果可以通过您使用的调试器)?只是为了看看是否有任何信号处理痕迹发生?老实说,我不知道 Visual Studio Code 在做什么,我想也没有太多关于此事的文档(毕竟它是相当新的)。