2017-07-14 991 views
1

我想在后台运行一个Jupyter笔记本。我发现this question,其中包括命令在远程服务器的后台运行Jupyter笔记本,得到输出

jupyter notebook &> /dev/null & 

哪些工作在我的本地机器上。然而,我有两个问题:

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

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

我能够在远程服务器上运行正常

jupyter notebook --no-browser 

,然后杀死ssh到远程服务器,以规避粗暴上述问题。我的问题归结为以下两个子问题:

  1. 是否有这样做,除了关闭ssh的方法吗?我想这不是最大的问题,但是简单地杀死ssh而不是一些更优雅或更有效的解决方案似乎很不合适。

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

回答

1
  1. 生成密码您Jupyter笔记本电脑服务器,这样就不需要通过输入它令牌(将在每次重新启动服务器时更改)。

  2. 运行您Jupyter笔记本服务器在屏幕TMUX,因此每次关闭与远程服务器的连接时,你只是分离从屏幕上。它将继续在远程服务器上运行。当您想要访问它时,只需点击screen -rssh后的屏幕连接到远程服务器。