如何正确关闭IPython Notebook?如何正确关闭IPython Notebook?
目前,我只关闭浏览器选项卡,然后在终端中使用Ctrl+C
。
不幸的是,既不exit()
也不打勾Kill kernel upon exit
确实帮助(他们杀死他们的内核,但不退出iPython)。
如何正确关闭IPython Notebook?如何正确关闭IPython Notebook?
目前,我只关闭浏览器选项卡,然后在终端中使用Ctrl+C
。
不幸的是,既不exit()
也不打勾Kill kernel upon exit
确实帮助(他们杀死他们的内核,但不退出iPython)。
目前没有比终端中的Ctrl + C更好的方法。
我们正在考虑如何进行明确的关机,但笔记本作为单用户应用程序,用户可以自由停止,并且作为多用户服务器,只有管理员应该能够阻止它。我们还没有弄清楚如何处理这些差异。
(对于未来的读者来说,这是在发展0.12发布和0.13的情况。)
更新2017年12月
IPython的笔记本已经成为笔记本Jupyter。最近的版本添加了一个jupyter notebook stop
shell命令,该命令将关闭在该系统上运行的服务器。如果不是默认端口8888,您可以在命令行传递端口号。
您也可以使用nbmanager,这是一个桌面应用程序,它可以显示正在运行的服务器并关闭它们。
最后,我们正在努力加入:
也许只是提供一个选项来允许显式杀死(通过菜单中的按钮?)或不在配置文件和命令行中?所以希望服务器始终运行的人可以设置正确的配置。 – gaborous 2013-03-22 11:25:40
已经有几年了,这种情况有没有改变? Ctrl + C仍然是关闭iPython Notebook服务器的唯一可靠方法吗? – EFC 2014-12-27 22:42:15
目前还没有办法从笔记本电脑的用户界面中关闭它,但是我写了[nbmanager](https://github.com/takluyver/nbmanager),这是一个可以列出和终止笔记本服务器和内核的工具。 – 2014-12-28 11:21:26
尝试从任务管理器(如果Windows)中查杀pythonw进程,如果没有其他工作。
Linux (Ubuntu 14.04)
如前所述,尽量通过第一要在你的ipynb/jupyter浏览器会话中的“运行”选项卡正确杀IPython的笔记本进程,然后检查你的控制台上打开终端并关闭用Ctrl-C。如果可能的话应该避免后者。
如果您运行ipython notebook list
并继续在不同端口上看到运行ipython服务器,请记下现有笔记本服务器的哪些端口。然后关闭您的TCP端口:
fuser -k 'port#'/tcp
我不确定是否有其他风险涉及这样做。如果是这样,让我知道。
如果您在后台运行jupyter我一样:
jupyter notebook &> /dev/null &
然后完全退出jupyter,而不是CTL-C,使一个别名:
echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc
重新启动终端。杀死所有jupyter实例:
quitjupyter
注意:在单引号内使用双引号,如上所示。另一种方式会在将表达式写入您的.bashrc之前对其进行评估(您希望写入命令本身不是'kill 1430'或任何进程号可能与当前的jupyter实例关联)。当然,你可以使用任何你想要的别名。我实际上使用'qjup':
echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc
重新启动您的终端。杀死所有jupyter实例:
qjup
'kill $(pgrep jupyter)'本身非常好。我正在从坠毁的远程终端运行'jupyter notebook' - 重新登录后,CTRL + C方法无法实现。保存重启远程的核选项,这非常棒。 – MichaelChirico 2017-07-27 23:16:17
为什么不只是'pkill jupyter'? 'pkill'是'pgreb',但是用于杀死进程。 – Nelson 2017-08-28 17:28:27
在浏览器会话,你也可以去Kernel
然后单击Restart and Clear Output
。
环境
我的操作系统是Ubuntu的16.04和jupyter是4.3.0。
方法
首先,我退出jupyter在其浏览器的主页(注销按钮位于右上)
其次,输入Ctrl + C
在你的终端,它显示了:
[I 15:59:48.407 NotebookApp]中断从本地服务笔记本 目录:/ home/Username 0 acti已经内核
的Jupyter笔记本在运行: http://localhost:8888/?token=a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82
关闭此笔记本服务器(Y/[N])?
最后步骤中,5秒以内在y
类型,并且如果它示出了:
[C 15:59:50.407 NotebookApp]关机确认
[I 15:59:50.408 NotebookApp]关闭内核
恭喜!你成功关闭了你的jupyter。
实际上,我相信比使用kill或任务管理器杀死进程更清洁。
在Jupyter笔记本仪表板(您首次启动'jupyter笔记本'时看到的浏览器界面),浏览到您在浏览器中关闭的笔记本文件的位置,但其内核可能仍在运行。
iPython Notebook文件出现时带有一个书本图标,如果它具有正在运行的内核,则显示为绿色;如果内核未运行,则显示为灰色。
只需选中正在运行的文件旁边的复选框,然后单击其上方显示的关机按钮。
这将正确关闭与特定笔记本关联的内核。
赏金应读作“我已经运行的IPython在http://127.0.0.1:8888/” ..对不起 – richie 2013-07-18 13:44:19
特定内核的PID(在特定的端口打开)中可以看出用'ps -ax'或'top'。因此,可以通过[管理特权]有选择地停止内核来终止该特定进程:#kill PID-of-ki 这不允许内核关闭内核,但强制Ctl-C类型也不会。知道这是否计划为jupyter? – 2017-05-14 00:51:59