如何捕获 PyCharm 调试器的 "Stop Button"?
How to catch PyCharm debugger's "Stop Button"?
小问题:调试 python 脚本时 PyCharm 的停止按钮发送什么 signal/Exception?
背景:一些帖子记录了在使用 PyCharm 的调试器时按下 Ctrl-C 不会向 python 脚本发送键盘 Interrupt/SIGINT 信号。美好的。我的问题是,当单击调试器的 "Stop Button" 时, 做什么 被发送到 Python 脚本。我想重写我的代码来捕捉 signal/Exception 是什么。 [我正在使用 OSX w/PyCharm 4.0.4]
调试后停止进程时,它会向解释器发送 SIGKILL
信号。
Process finished with exit code 137
128 以上的退出代码表示它是 128 + 信号编号(在本例中为 9,即 SIGKILL
)。
您可以使用 signal.signal()
捕获 SIGTERM
,但无法捕获 SIGKILL
。你无能为力。
那么,您可以设置一个单独的脚本来监视第一个(例如,检查其 PID 在 运行 进程中是否存在)并在给定进程终止时执行某些操作。
小问题:调试 python 脚本时 PyCharm 的停止按钮发送什么 signal/Exception?
背景:一些帖子记录了在使用 PyCharm 的调试器时按下 Ctrl-C 不会向 python 脚本发送键盘 Interrupt/SIGINT 信号。美好的。我的问题是,当单击调试器的 "Stop Button" 时, 做什么 被发送到 Python 脚本。我想重写我的代码来捕捉 signal/Exception 是什么。 [我正在使用 OSX w/PyCharm 4.0.4]
调试后停止进程时,它会向解释器发送 SIGKILL
信号。
Process finished with exit code 137
128 以上的退出代码表示它是 128 + 信号编号(在本例中为 9,即 SIGKILL
)。
您可以使用 signal.signal()
捕获 SIGTERM
,但无法捕获 SIGKILL
。你无能为力。
那么,您可以设置一个单独的脚本来监视第一个(例如,检查其 PID 在 运行 进程中是否存在)并在给定进程终止时执行某些操作。