如何正确关闭 IPython Notebook?
目前,我只是关闭浏览器选项卡,然后Ctrl+C
在终端中使用。
不幸的是,exit()
滴答作响Kill kernel upon exit
都没有帮助(它们确实会杀死内核但不会退出 iPython)。
如何正确关闭 IPython Notebook?
目前,我只是关闭浏览器选项卡,然后Ctrl+C
在终端中使用。
不幸的是,exit()
滴答作响Kill kernel upon exit
都没有帮助(它们确实会杀死内核但不会退出 iPython)。
目前没有比终端中的 Ctrl+C 更好的方法了。
我们正在考虑如何显式关闭,但是笔记本作为单用户应用程序(用户可以自由停止它)和作为多用户服务器(只有管理员应该能够)之间存在一些紧张关系阻止它。我们还没有完全弄清楚如何处理这些差异。
(对于未来的读者,这是 0.12 发布和 0.13 正在开发的情况。)
2017 年 12 月更新
IPython Notebook 已成为 Jupyter Notebook。最近的版本添加了一个jupyter notebook stop
shell 命令,它将关闭在该系统上运行的服务器。如果不是默认端口 8888,您可以在命令行中传递端口号。
您还可以使用nbmanager,这是一个桌面应用程序,可以显示正在运行的服务器并关闭它们。
最后,我们正在努力添加:
如果你像我一样在后台运行 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
第一步是保存所有打开的笔记本。然后考虑关闭正在运行的 Jupyter Notebook。您可以使用这个简单的命令:
$ jupyter notebook stop
Shutting down server on port 8888 ...
它还将端口号作为参数,您可以优雅地关闭 jupyter notebook。
例如:
jupyter notebook stop 8889
Shutting down server on port 8889 ...
此外,要了解您当前正在运行的 jupyter 实例,请检查以下命令:
shell> jupyter notebook list
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706de98632 :: /Users/username/jupyter-notebooks [/code]
这些命令对我有用:
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.
这个答案改编自这里。
如果没有其他方法,请尝试从任务管理器(如果是 Windows)中终止 pythonw 进程。
Linux (Ubuntu 14.04)
如前所述,尝试通过首先转到 ipynb/jupyter 浏览器会话中的“运行”选项卡来正确终止 ipython 笔记本进程,然后检查控制台上打开的终端并使用 ctrl-c 关闭。如果可能,应避免后者。
如果您运行ipython notebook list
并继续看到在不同端口上运行 ipython 服务器,请记下现有笔记本正在服务于哪些端口。然后关闭你的 TCP 端口:
fuser -k 'port#'/tcp
我不确定这样做是否还有其他风险。如果是这样,请告诉我。
实际上,我相信有一种比使用 kill 或任务管理器杀死进程更清洁的方法。
在 Jupyter Notebook 仪表板(首次启动“jupyter notebook”时看到的浏览器界面)中,浏览到您在浏览器中关闭但其内核可能仍在运行的笔记本文件的位置。
iPython Notebook 文件带有一个书本图标,如果内核正在运行,则显示为绿色,如果内核未运行,则显示为灰色。
只需选择正在运行的文件旁边的复选框,然后单击出现在其上方的 Shutdown 按钮。
这将正确关闭与该特定笔记本关联的内核。
环境
我的操作系统是 Ubuntu 16.04,而 jupyter 是 4.3.0。
方法
首先,我在浏览器的主页上注销了 jupyter(注销按钮在右上角)
其次,Ctrl + C
在您的终端中输入,它会显示:
[I 15:59:48.407 NotebookApp] 从本地目录中断服务笔记本:/home/Username 0 个活动内核
Jupyter Notebook 运行在: http://localhost:8888/?token=a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82
关闭此笔记本服务器 (y/[n])?
最后一步,y
在 5 秒内输入,如果显示:
[C 15:59:50.407 NotebookApp] 确认关闭
[I 15:59:50.408 NotebookApp] 关闭内核
恭喜!您成功关闭了 jupyter。
选项1
打开不同的控制台并运行
jupyter notebook stop [PORT]
默认 [PORT] 为 8888,因此,假设 Jupyter Notebooks 在端口 8888 上运行,只需运行
jupyter notebook stop
如果它在端口 9000 上,则
jupyter notebook stop 9000
选项 2(来源)
检查运行时文件夹位置
jupyter --paths
删除运行时文件夹中的所有文件
rm -r [RUNTIME FOLDER PATH]/*
用于top
查找任何剩余的 Jupyter Notebook 运行进程,如果是,则终止其 PID。
top | grep jupyter &
kill [PID]
可以归结为
TARGET_PORT=8888
kill -9 $(lsof -n -i4TCP:$TARGET_PORT | cut -f 2 -d " ")
注意:如果想在特定 IP/端口上启动自己的笔记本
jupyter notebook --ip=[ADD_IP] --port=[ADD_PORT] --allow-root &
现在最好的方法是使用“退出”按钮左侧的“退出”按钮。我不得不承认我不了解注销按钮的实用性。但是,我很高兴他们添加了非常有用的退出按钮。
如果您在 Mac 上并使用 Jupyter 实验室,您可以在终端中执行以下操作
jupyter list
以上将为您提供所有正在运行的服务器。了解帖子后,只需使用 jupyter lab stop。例如,如果服务器在 8888 上运行,只需执行
jupyter lab stop 8888
在浏览器会话中,您也可以转到Kernel
然后单击Restart and Clear Output
。
我从 2018 年 2 月 13 日发布的 Jupyter/IPython Notebook 快速入门指南文档中复制粘贴。 http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html
1.3.3 关闭笔记本:内核关闭 当笔记本打开时,它的“计算引擎”(称为内核)会自动启动。关闭笔记本浏览器选项卡不会关闭内核,而是内核将继续运行,直到显式关闭。要关闭内核,请转到相关的笔记本并单击菜单 File -> Close and Halt。或者,Notebook Dashboard 有一个名为 Running 的选项卡,它显示所有正在运行的 notebook(即内核)并允许关闭它们(通过单击 Shutdown 按钮)。
摘要:首先关闭并停止正在运行的笔记本。
1.3.2 关闭 Jupyter Notebook App 关闭浏览器(或选项卡)不会关闭 Jupyter Notebook App。要完全关闭它,您需要关闭关联的终端。更详细地说,Jupyter Notebook App 是一个服务器,它显示在您的浏览器中的默认地址 ( http://localhost:8888 )。关闭浏览器不会关闭服务器。您可以重新打开之前的地址,Jupyter Notebook App 将重新显示。您可以运行 Jupyter Notebook App 的多个副本,它们将显示在类似的地址(只有“:”后面的数字,即端口,将随着每个新副本递增)。由于使用单个 Jupyter Notebook App 已经可以打开许多笔记本,因此我们不建议运行多个 Jupyter Notebook App 副本。
摘要:其次,退出您启动 Jupyter 的终端。
第 1 步 - 在 shell 上只需执行 control+z (control+c) 第 2 步 _ 关闭 Web 浏览器