我正在尝试在后台运行 Jupyter Notebook。我找到了 this question包括命令
jupyter notebook &> /dev/null &
它在我的本地机器上运行。但是,我有两个问题:
我需要一个 token 才能在浏览器窗口中访问我的笔记本。但是,使用上述命令,除了进程 ID 外,终端窗口中没有任何输出,因此我无法访问我的笔记本。
我还需要在远程机器的后台运行笔记本。我
ssh
进入远程机器,然后运行 jupyter notebook --no-browser
。但是,一旦我关闭我的笔记本电脑,我的本地终端窗口中的笔记本进程以及ssh
都会被终止。
我能够通过正常运行粗略地规避上述问题
jupyter notebook --no-browser
在远程服务器中,然后杀掉到远程服务器的ssh
。我的问题归结为以下两个子问题:
除了关闭
ssh
之外,还有什么方法可以做到这一点吗?我想这并不是最大的问题,但简单地终止 ssh 而不是一些更优雅或更有效的解决方案似乎很老套。如何在我的本地机器上实现相同的目的?我需要在后台运行 Jupyter Notebook,同时以某种方式获取输出。我可以将输出定向到另一个文件或在其他地方读取吗?
最佳答案
为您的 Jupyter Notebook 服务器生成一个密码,这样您就不需要通过token 输入它(每次重启时都会更改)服务器)。
在 screen 或 tmux 中运行您的 Jupyter Notebook 服务器,因此每次关闭与远程服务器的连接时,您只需分离 从屏幕上。它将继续在您的远程服务器上运行。下次您想访问它时,只需点击
screen -r
即可在您ssh
连接到远程服务器后附加屏幕。
关于ssh - 在远程服务器后台运行 Jupyter Notebook,获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45107901/