我们经常运行jupyter notebook
在浏览器中弹出一个页面来使用笔记本。但是,打开服务器的终端仍然在那里。有什么办法可以让服务器在后面运行的情况下关闭终端吗?
发布于 2017-11-16 13:51:00
您可以使用jupyter notebook --no-browser & disown
将该过程放到后台。您可以在结束后关闭终端,进程仍将运行。
如果您使用的是zsh
,您也可以使用一个更短的版本,也可以这样做:jupyter notebook --no-browser &!
。
要杀死进程,可以使用pgrep jupyter
查找进程的PID,然后使用kill 1234
,用刚刚找到的PID替换1234。
解释
--no-browser
标志使jupyter不能自动打开浏览器,它也可以在没有此标志的情况下工作。
&
将其放入当前正在运行的shell的背景中。
然后,disown
从当前正在运行的shell的背景中移除作业,并使其独立于shell运行,以便您可以关闭它。
在zsh
版本中,&!
是一个与& disown
相同的内置函数。
发布于 2018-08-02 06:23:17
Tmux是一个很好的选择,可以运行你的木星笔记本在后台。
我使用OS: Ubuntu16.0在google云平台的VM实例上运行我的木星笔记本。哪里
jupyter-notebook --no-browser --port=5000
。它将在VM实例的端口5000上启动木星笔记本。到现在为止,一切都很好。但是,如果终止了与我的SSH终端的连接,那么木星笔记本就会立即停止,因此我必须在ssh终端重新启动或从新ssh终端再次运行它。
为了避免这种情况,tmux
是非常好的选择。
终端复用器(tmux
)在SSH终端关闭后保持ssh会话在后台运行:
tmux
型它将在同一航站楼打开一扇窗户。现在,如果SSH终端关闭/终止,它将继续在实例上运行您的笔记本。
如果连接终止,则:
tmux attach
命令。(编辑:将“笔记本”改为“木星服务器”)
要终止tmux会话:
exit
。(更新:如果我们关闭笔记本并使用tmux detach
命令:它将退出tmux会话窗口/终端而不终止/停止tmux会话)有关详细信息,请参阅本文:https://www.tecmint.com/keep-remote-ssh-sessions-running-after-disconnection/
发布于 2018-12-20 01:32:30
在*nix下,运行程序以避免通过关闭终端而终止的最佳方法是使用nohup (不挂起)。
要在运行服务器后启动浏览器,请使用以下命令:
nohup jupyter notebook &
要在不打开浏览器的情况下启动服务器,请使用以下命令:
nohup jupyter notebook --no-browser &
请注意,您可以通过在jupyter
页面右上角使用Quit关闭jupyter
服务器。
nohup
作为进程init(0)的父进程,因此当终端关闭时,它不会接收“挂起”信号。所有输出(标准输出和标准错误)都被重定向到文件nohup.out
nohup
,它同时存在于程序和shell命令中,因此如果您有bash
,请检查bash
的man
页面以读取更多详细信息。
https://stackoverflow.com/questions/47331050
复制相似问题