如何捕捉 PyCharm 调试器的“停止按钮”?

Dut*_*tch 9 python debugging exception-handling pycharm

快速问题:调试 python 脚本时,PyCharm 的停止按钮发送什么信号/异常?

背景:一些帖子记录了在使用 PyCharm 的调试器时按 Ctrl-C 不会向 python 脚本发送键盘中断/SIGINT 信号。美好的。我的问题是,什么点击调试器的“停止按钮”,当被发送到Python脚本。我想重新编写我的代码以捕获任何信号/异常。[我使用的是带有 PyCharm 4.0.4 的 OSX]

Igo*_*ist 6

当您在调试后停止该进程时,它会向SIGKILL解释器发送一个信号。

进程完成,退出代码 137

超过 128 的退出代码意味着它是 128 + 一个信号的编号(在本例中为 9,即 a SIGKILL)。

您可以SIGTERM使用 using来捕获signal.signal(),但SIGKILL不能被捕获。你对此无能为力。
好吧,您可以设置一个单独的脚本来监视第一个脚本(例如,检查正在运行的进程中是否存在 PID)并在给定进程终止时执行某些操作。