How can a running ipython inside linux terminal be interrupted
我正在使用SSH连接到基于linux的远程服务器,在该服务器中,我已经从它带给我的终端运行了ipython。 关键是我想要中断当前的操作,但我完全不能这样做。 我尝试按下双i或本网站提供的信息但不起作用(使用Ctrl + m i)。
我在这里和这里看过但是没用。
-
Ctrl+C无效吗?
-
实际上击中那个组合一次没有做任何事情,但击中那些两次会杀死内核我想,我想打断它。我实际上已经使用了两次,但即使这样也行不通。
-
1)请确切地说,如果您使用的是IPython或笔记本电脑和2),您提供的链接在顶部有一个很大的警告,它已经过时(3年),并附有新文档的链接。
-
正如我所说的@Matt我在ubuntu的终端shell中使用了ipython,而不是笔记本。虽然链接可能很旧,但每次处理jupyter笔记本时都会使用它很多,并且很有帮助。
-
好,谢谢。您指向的第一个文档是笔记本,而i,i也是笔记本的快捷方式。所以它使得它在终端不起作用。我会写下并回答,但如果Ctrl-C或Ctrl- 不起作用,那么你可以做的并不多。
-
@Matt实际上我在本地ipython中使用了'i,i'而且令人惊讶的是它有效,但我不知道为什么它不适用于终端中的ssh和远程ipython。不管怎样,谢谢
你的问题似乎有些混乱 - 在评论中澄清 - 关于你是否引用终端IPython或IPython笔记本。这两个是完全不同的野兽,并没有相同的快捷方式/功能。
您指向的文档是旧的,笔记本界面的最新版本在这里,i,i和Ctrl-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会话中的表现如何。