如何在不终止父进程的情况下中断失控的ipython评估?

时间:2013-02-12 17:16:52

标签: python ipython

有时 正在进行的ipython评估不会回复Ctrl-Cipython键盘 1

是否有其他方法可以使kill -SOMESECRETSIGNAL <pid>进程中止当前评估,并回到“读取”状态?

也许是SIGINT?我尝试了一些(SIGTERMSIGUSR1SIGINT,...)无济于事:要么它们没有效果(例如ipython),要么它们会杀死ipython进程。或者可能是一些神秘的{{1}}配置?一些哨兵文件? ......?

1 “足够快”,即。当然,不可能准确地指出“及时”的迅速程度;这取决于具体情况,延迟持续时间的可靠性,用户的气质,黑客新闻当天的选择等等。

1 个答案:

答案 0 :(得分:1)

取决于您决定中断时执行的位置(在python函数中,在较低级别的库中,...)。如果这通常发生在您创建的函数中,您可以尝试在函数中放置try / except块并捕获KeyboardInterrupt异常。它可能不会脱离低级库(如果确实在你运行的地方),但它应该阻止ipython解释器退出。