ssh - 在远程服务器后台运行 Jupyter Notebook,获取输出

标签 ssh jupyter-notebook

我正在尝试在后台运行 Jupyter Notebook。我找到了 this question包括命令

jupyter notebook &> /dev/null &

它在我的本地机器上运行。但是,我有两个问题:

  1. 我需要一个 token 才能在浏览器窗口中访问我的笔记本。但是,使用上述命令,除了进程 ID 外,终端窗口中没有任何输出,因此我无法访问我的笔记本。

  2. 我还需要在远程机器的后台运行笔记本。我 ssh 进入远程机器,然后运行 ​​jupyter notebook --no-browser。但是,一旦我关闭我的笔记本电脑,我的本地终端窗口中的笔记本进程以及 ssh 都会被终止。

我能够通过正常运行粗略地规避上述问题

jupyter notebook --no-browser

在远程服务器中,然后杀掉到远程服务器的ssh。我的问题归结为以下两个子问题:

  1. 除了关闭 ssh 之外,还有什么方法可以做到这一点吗?我想这并不是最大的问题,但简单地终止 ssh 而不是一些更优雅或更有效的解决方案似乎很老套。

  2. 如何在我的本地机器上实现相同的目的?我需要在后台运行 Jupyter Notebook,同时以某种方式获取输出。我可以将输出定向到另一个文件或在其他地方读取吗?

最佳答案

  1. 为您的 Jupyter Notebook 服务器生成一个密码,这样您就不需要通过token 输入它(每次重启时都会更改)服务器)。

  2. screentmux 中运行您的 Jupyter Notebook 服务器,因此每次关闭与远程服务器的连接时,您只需分离 从屏幕上。它将继续在您的远程服务器上运行。下次您想访问它时,只需点击 screen -r 即可在您 ssh 连接到远程服务器后附加屏幕。

关于ssh - 在远程服务器后台运行 Jupyter Notebook,获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45107901/

相关文章:

bash - 在 bash 脚本中将 SSH 输出捕获为变量

python - Fabric - 如何动态提供 ssh 密码

python - 如何将 Jupyter 中的 TensorFlow 2 模型的结果保存到文本文件?

带有边框的 Python Jupyter Notebook 样式数据框

python - Jupyter Notebook 找不到适用于 python 3.6 的模块

jupyter-notebook - 获取jupyter服务器根目录的方法

ssh - git 在 ssh 通信上失败

java - 通过 SSH 远程登录

python - Jupyter 小部件与 JupyterLab 扩展?

linux - SSH 服务器 - 获取 sshd 进程转发端口 #N 的 pid