gpt4 book ai didi

Python VS Code 调试 - 捕获 SIGTERM?

转载 作者:行者123 更新时间:2023-12-04 11:58:06 25 4
gpt4 key购买 nike

我要强制sys.exit()当 python 调试器停止时。当我停止调试器时,我看到 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

最佳答案

现在我们似乎是 OOL(运气不好) - 我遇到了同样的问题,发现 VS Code python 扩展确实在调试停止时发出了 SIGKILL,这是无法解决的。

与 node.js 扩展不同,Python 扩展也不支持将类型设置为 SIGTERM 或 SIGINT。

我发现的唯一解决方法是在 VS Code 中有一个开放的终端(类型:Pythen Debug Terminal)。它应该在调试期间显示 python 命令行为和输出。通过单击终端并手动按 ctrl-C 使终端成为焦点。这应该会优雅地停止调试程序,并且您捕获 SIGTERM 或 SIGINT 将起作用。

关于Python VS Code 调试 - 捕获 SIGTERM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53325394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com