关于python:如何在linux终端内运行ipython中断

How can a running ipython inside linux terminal be interrupted

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

我在这里和这里看过但是没用。


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

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

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

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

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