如何正确关闭IPython Notebook?

Pio*_*dal 104 python ipython ipython-notebook

如何正确关闭IPython Notebook?

目前,我只关闭浏览器选项卡,然后Ctrl+C在终端中使用.
不幸的是,既不exit()滴答也不滴答Kill kernel upon exit确实有帮助(他们确实杀了内核,但没有退出iPython).

Tho*_*s K 110

目前没有比终端中的Ctrl + C更好的方法.

我们正在考虑如何明确关闭,但笔记本作为单用户应用程序(用户可以自由停止)和作为多用户服务器之间存在一些紧张关系,只有管理员应该能够阻止它.我们还没有完全弄清楚如何处理这些差异.

(对于未来的读者来说,这是0.12发布和0.13开发的情况.)

2017年12月更新

IPython笔记本已成为Jupyter笔记本.最新版本添加了一个jupyter notebook stopshell命令,该命令将关闭在该系统上运行的服务器.如果端口号不是默认端口8888,则可以在命令行传递端口号.

您还可以使用nbmanager,这是一个桌面应用程序,可以显示正在运行的服务器并关闭它们.

最后,我们正在努力添加:

  • 一个配置选项,用于在指定时间内不使用服务器时自动关闭服务器.
  • 用户界面中的一个按钮,用于关闭服务器.(我们知道它花了这么长时间才有点疯狂.改变用户界面是有争议的.)

  • 已经有几年了,这种情况有所改变吗?Ctrl + C仍然是关闭iPython Notebook服务器的唯一可靠方法吗? (7认同)
  • @julianhatwell 应在不同的控制台中输入“jupyter notbook stop” (2认同)

BBW*_*ows 23

如果你像我一样在后台运行jupyter:

jupyter notebook &> /dev/null &
Run Code Online (Sandbox Code Playgroud)

然后完全退出jupyter,而不是Ctl-C,创建一个别名命令:

echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

重启你的终端.杀死所有jupyter实例:

quitjupyter
Run Code Online (Sandbox Code Playgroud)

注意:如上所示,在单引号内使用双引号.另一种方法是在将表达式写入.bashrc之前评估表达式(您希望编写命令本身而不是'kill 1430'或任何可能与当前jupyter实例关联的进程号).当然,您可以使用任何您想要的别名.我实际上使用'qjup':

echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

重启你的终端.杀死所有jupyter实例:

qjup
Run Code Online (Sandbox Code Playgroud)

  • 为什么不只是'pkill jupyter`?`pkill`是`pgreb`,但用于杀死进程. (2认同)

was*_*abi 20

我认为已接受的答案已经过时,不再有效.

您可以从文件menü项目的Web界面终止jupyter笔记本.

在此输入图像描述

当您将鼠标光标移动到"关闭并停止"时,您将看到以下说明.

在此输入图像描述

当您单击"关闭并暂停"时,您将在终端屏幕上看到以下消息.

在此输入图像描述

  • 为了澄清,这将停止*kernel*,即运行Python代码的进程.它不会停止*笔记本电脑服务器*,这使得笔记本电脑接口处理加载和保存文件等. (13认同)

Pat*_*ceG 12

这些命令对我有用:

jupyter notebook list # shows the running notebooks and their port-numbers
                      # (for instance: 8080)
lsof -n -i4TCP:[port-number] # shows PID.
kill -9 [PID] # kill the process.
Run Code Online (Sandbox Code Playgroud)

这个答案是从这里改编的。


mor*_*onz 7

第一步是保存所有打开的笔记本。然后考虑关闭正在运行的Jupyter Notebook。您可以使用以下简单命令:

$ jupyter notebook stop 
Shutting down server on port 8888 ...
Run Code Online (Sandbox Code Playgroud)

它也将端口号作为参数,您可以正常关闭jupyter笔记本。

例如:

jupyter notebook stop 8889 
Shutting down server on port 8889 ...
Run Code Online (Sandbox Code Playgroud)

另外,要了解您当前的juypter实例正在运行,请检查以下命令:

shell> juypter notebook list 
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706d7c9af8607a7ba58bbee98632 :: /Users/username/jupyter-notebooks [/code]
Run Code Online (Sandbox Code Playgroud)


fix*_*xer 5

如果没有其他工作,请尝试从任务管理器(如果是Windows)中删除pythonw进程.


小智 5

Linux (Ubuntu 14.04)
Run Code Online (Sandbox Code Playgroud)

如前所述,尝试通过首先转到 ipynb/jupyter 浏览器会话中的“运行”选项卡来正确终止 ipython 笔记本进程,然后检查控制台上打开的终端并使用 ctrl-c 关闭。如果可能,应避免后者。

如果您运行ipython notebook list并继续看到在不同端口运行 ipython 服务器,请记下现有笔记本服务于哪些端口。然后关闭你的 TCP 端口:

fuser -k 'port#'/tcp 
Run Code Online (Sandbox Code Playgroud)

我不确定这样做是否涉及其他风险。如果是这样,请告诉我。