列出正在运行的 Jupyter 笔记本和令牌

Posted

技术标签:

【中文标题】列出正在运行的 Jupyter 笔记本和令牌【英文标题】:List running Jupyter notebooks and tokens 【发布时间】:2018-03-15 01:28:38 【问题描述】:

如何检查所有正在运行的 jupyter notebook 实例的登录令牌?

示例:您有一个永久运行在tmuxscreen 的笔记本,并通过ssh 远程登录。有时,特别是如果您在很长一段时间后登录时,会再次请求令牌以访问笔记本会话。如何在不必终止并使用新令牌重新启动笔记本会话的情况下获取令牌?

【问题讨论】:

【参考方案1】:

更新

您现在可以在终端中运行 jupyter notebook list 以获取正在运行的带有令牌的 jupyter 会话。

请注意您处于正确的环境(conda、virtualenv 等)中,否则会话将列出而没有关联的令牌。 eg:以上参考截图来自conda环境。

旧答案:

运行 ipython 并输入以下内容:

> ipython
[1] : system("jupyter" "notebook" "list")
Out[1]: 
['Currently running servers:','http://localhost:8895/token=067470c5ddsadc54153ghfjd817d15b5d5f5341e56b0dsad78a :: /u/user/dir']

如果笔记本在远程服务器上运行,您必须先登录到该服务器,然后才能运行 ipython。

【讨论】:

为什么在 iPython 中这样做? system 只是在系统 shell 中执行其参数,因此您只需在 shell 中执行 jupyter notebook list 即可达到相同的效果。 你是对的,现在在 jupyter 登录页面上说明了这一点 请注意,密码认证和令牌认证是互斥的,所以如果 Jupyter 使用密码运行,jupyter notebook list 中不会有任何令牌。 对于 JUPYTER LAB 用户:jupyter notebook list 还列出了所有正在运行的 jupyter 实验室会话。 试试jupyter lab list【参考方案2】:

一个简单的解决方案(通过避免打开新终端可以节省您的时间)是从您运行笔记本的同一终端点击(仅一次!! - 导致两次会杀死正在运行的服务器)

Ctrl + C  

通过这样做,您的笔记本的完整链接将出现(连同令牌!),并提示您确认关闭。只需回答否(n 并输入)或什么都不做,5 秒后操作将恢复。同时,您将能够检索所需的链接和/或令牌。

【讨论】:

jupyter notebook list 并不总是适合我。确实如此。 虽然公认的答案是(imo)“不错且值得称道的方式”,但这个更实用,因为它为您提供了所需的令牌。 @Him 你试过jupyter lab list吗?【参考方案3】:

只需在当前运行的服务器中右击jupyter notebook logo,你可能已经有一个服务器在运行,然后点击复制链接,然后将链接粘贴到文本编辑器中,可能是MS word,你会看到token在链接,复制并粘贴到需要令牌的地方。它会起作用的。

【讨论】:

假设可以在浏览器中访问笔记本,但调试远程会话时并非总是如此【参考方案4】:

使用这个命令

$ jupyter server list

它将显示jupyter labjupyter notebook 当前运行的服务器以及令牌。

【讨论】:

这应该是公认的答案。【参考方案5】:

为了在 jupyter notebook 中运行 python 代码...我们需要令牌 id,只要您的路径已配置,只需键入 jupyter notebook 即可从终端获取。 .. 如果没有,请先设置正确的路径。

【讨论】:

这会启动一个 new jupyter 会话,而不是列出已经运行的会话及其令牌

以上是关于列出正在运行的 Jupyter 笔记本和令牌的主要内容,如果未能解决你的问题,请参考以下文章

列出正在运行的 jupyter lab 实例

是否可以在启动时启动Jupyter笔记本?

是否可以在 Eclipse 下运行(并可能调试)Jupyter 笔记本?

谷歌云 AI 平台 jupyter notebook 实例即使在重置后也不会打开并且正在运行

如何通过命令行检查 Jupyter 活动笔记本

pip 安装了 google.colab,现在无法在 Jupyter 笔记本上运行代码