137

如何正确关闭 IPython Notebook?

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

4

15 回答 15

139

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

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

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

2017 年 12 月更新

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

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

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

  • 如果您在指定时间内不使用服务器,则自动关闭服务器的配置选项。
  • 用户界面中用于关闭服务器的按钮。(我们知道花了这么长时间有点疯狂。更改 UI 是有争议的。)
于 2012-04-15T14:08:41.127 回答
27

如果你像我一样在后台运行 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
于 2015-09-23T16:43:22.473 回答
26

我认为接受的答案已经过时并且不再有效。

您可以从文件菜单项的 Web 界面终止 jupyter notebook。

在此处输入图像描述

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

在此处输入图像描述

当您单击“关闭并停止”时,您将在终端屏幕上看到以下消息。

在此处输入图像描述

于 2017-08-28T19:14:16.467 回答
18

第一步是保存所有打开的笔记本。然后考虑关闭正在运行的 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]
于 2018-09-13T13:42:23.657 回答
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.

这个答案改编自这里

于 2018-10-11T14:09:09.617 回答
5

如果没有其他方法,请尝试从任务管理器(如果是 Windows)中终止 pythonw 进程。

于 2013-07-19T08:49:06.983 回答
5
Linux (Ubuntu 14.04)

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

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

fuser -k 'port#'/tcp 

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

于 2015-04-24T21:14:31.623 回答
3

实际上,我相信有一种比使用 kill 或任务管理器杀死进程更清洁的方法。

在 Jupyter Notebook 仪表板(首次启动“jupyter notebook”时看到的浏览器界面)中,浏览到您在浏览器中关闭但其内核可能仍在运行的笔记本文件的位置。

iPython Notebook 文件带有一个书本图标,如果内核正在运行,则显示为绿色,如果内核未运行,则显示为灰色。

只需选择正在运行的文件旁边的复选框,然后单击出现在其上方的 Shutdown 按钮。

这将正确关闭与该特定笔记本关联的内核。

于 2017-07-27T02:07:49.430 回答
2

环境


我的操作系统是 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。

于 2017-03-27T08:12:24.727 回答
1

选项1

打开不同的控制台并运行

jupyter notebook stop [PORT]

默认 [PORT] 为 8888,因此,假设 Jupyter Notebooks 在端口 8888 上运行,只需运行

jupyter notebook stop

如果它在端口 9000 上,则

jupyter notebook stop 9000

选项 2来源

  1. 检查运行时文件夹位置

    jupyter --paths
    
  2. 删除运行时文件夹中的所有文件

    rm -r [RUNTIME FOLDER PATH]/*
    
  3. 用于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 &
于 2020-11-17T15:12:32.060 回答
1

现在最好的方法是使用“退出”按钮左侧的“退出”按钮。我不得不承认我不了解注销按钮的实用性。但是,我很高兴他们添加了非常有用的退出按钮。

于 2020-11-20T22:05:33.390 回答
1

如果您在 Mac 上并使用 Jupyter 实验室,您可以在终端中执行以下操作

jupyter list

以上将为您提供所有正在运行的服务器。了解帖子后,只需使用 jupyter lab stop。例如,如果服务器在 8888 上运行,只需执行

jupyter lab stop 8888
于 2021-08-25T14:29:20.823 回答
0

在浏览器会话中,您也可以转到Kernel然后单击Restart and Clear Output

于 2016-02-23T07:44:09.260 回答
0

我从 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 的终端。

于 2018-07-12T06:01:50.287 回答
0

第 1 步 - 在 shell 上只需执行 control+z (control+c) 第 2 步 _ 关闭 Web 浏览器

于 2019-05-31T20:50:22.290 回答