Emacs:如何阻止我的Python进程被Ctrl-C杀死

时间:2017-05-15 22:42:28

标签: python linux emacs ipython

使用Linux(Ubuntu 16.04),运行Emacs 24.5.1,Python 3.5.2和IPython 5.1.0。我经常使用python-mode,在缓冲区中运行实时IPython提示符。我通常运行一个函数或循环,有时候需要提前破解它以检查内容,通常是在探索数据时。

但是,第一次按Ctrl-C时,这样可以正常工作,并且IPython进程会返回其提示符。不幸的是,第二次按下Ctrl-C时,进程总是随着消息退出,

Process Python[myscript.py] interrupt

然后,如果再次C-c C-c,则在同一缓冲区中启动新的IPython进程。但是,我的进程已经死了,我无法检查变量,必须从头开始重新运行它。这很烦人!我已经搜索但无法弄清楚为什么它只发生第二次时按Ctrl-C。

一种可能性是该过程正在接收EOF以及SIGINT,但是我不知道为什么或如何确定,或者如何阻止它这样做。 有什么想法吗?

编辑:我应该提一下,我是否在终端模拟器或GUI中使用Emacs似乎并不重要。通常我更喜欢在终端中使用它。

1 个答案:

答案 0 :(得分:0)

如果您的脚本在Linux上运行,请使用bash命令陷阱来捕获信号。