如何在linux终端内运行ipython中断

时间:2017-11-17 12:26:36

标签: python ipython

我正在使用SSH连接到基于linux的远程服务器,在该服务器中,我已经从它带给我的终端运行ipython。关键是我想要中断当前的操作,但我完全不能这样做。我尝试过按ithis网站上提供的信息,但无效(使用Ctrl + m i)。

我见过herehere,但没用。

1 个答案:

答案 0 :(得分:1)

你的问题似乎有些混乱 - 在评论中澄清 - 关于你是否引用终端IPython或IPython笔记本。两者是完全不同的野兽,没有相同的捷径/能力。

您指向的文档已过时,笔记本界面的最新版本为herei,iCtrl-m,i是Classic Notebook界面的快捷方式(现在当在浏览器中运行时,还有一个JupyterLab接口)。笔记本界面的快捷方式几乎都不适用于终端。笔记本界面是一个2对3的处理系统,你不是要求你的计算机直接杀死计算,你要求界面停止它。

当你在终端上运行IPython时,你正在同一个进程中直接执行CLI-Interface和你的代码,所以很多快捷方式实际上都是你的终端IPython的快捷方式有限的控制权。因此,中断计算的方式是Ctrl-C(软终止)或Ctrl-\强制终端。 (实际上,当您按下i,i笔记本时,它会发送网络请求以将Ctrl-C发送到您的计算中)

现在,如果您在C中完成计算(例如在NumPy中),则无法轻易中断。 Python会收到一个&#34;请尽快停止&#34;但是只有当numpy(或你的C例程)完成时才会有第一次这样做。唯一的解决方案是使用kill <pid>命令终止进程。但这不仅会阻止你的计算,而且最有可能会杀死所有的IPython会话。

您也可以尝试Ctrl-Z(如果您的终端支持它)应暂停该过程并将其置于后台。但不确定在SSH会话中的表现如何。