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

如何在不终止父进程的情况下中断失控的ipython计算?,python,ipython,Python,Ipython,有时正在进行的ipython评估不会响应键盘上的Ctrl-C 是否有其他方法使ipython进程中止当前评估,并返回其“读取”状态 可能使用kill-SOMESECRETSIGNAL?我尝试了一些(SIGINT,SIGTERM,SIGUSR1,…)都没有效果:要么它们没有效果(例如SIGINT),要么它们杀死了ipython进程。或者是某种神秘的ipython配置?一些哨兵档案 1“足够及时”,即。当然,不可能精确地说明“足够迅速”的准确程度;这取决于情况、延迟持续时间的可靠性、用户的脾气、当天

有时正在进行的
ipython
评估不会响应键盘上的
Ctrl-C

是否有其他方法使
ipython
进程中止当前评估,并返回其“读取”状态

可能使用
kill-SOMESECRETSIGNAL
?我尝试了一些(
SIGINT
SIGTERM
SIGUSR1
,…)都没有效果:要么它们没有效果(例如
SIGINT
),要么它们杀死了
ipython
进程。或者是某种神秘的
ipython
配置?一些哨兵档案


1“足够及时”,即。当然,不可能精确地说明“足够迅速”的准确程度;这取决于情况、延迟持续时间的可靠性、用户的脾气、当天在黑客新闻中的选择等。

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

ipython与响应能力的缺乏无关。这很可能是一个通用的Python问题(比如扩展代码获取GIL),对此您无能为力。