先 安装 conda install screen
screen命令可以让我们开启大量的窗口,并灵活控制每个窗口的开启关闭、前台后台状态。那么接下来,我们使用screen命令将Jupyter服务放置在后台运行,这样的话,及时我们本地的电脑关闭了或者断开了与服务器的连接,我们搭建的Jupyter服务依然会正常运行。
我们使用screen命令新开一个窗口,并命名为jupyter(或其他你喜欢的名字):
$ screen -S jupyter
接下来,我们在新开的窗口中打开Jupyter Lab:
$ jupyter lab
程序运行起来之后,我们使用Ctrl + A + D的快捷键将这一窗口放入后台,并回到开启screen窗口之前的状态:
$ screen -S jupyter
[detached from 29957.jupyter]
我们也可以查看目前都有哪些窗口在后台运行:
$ screen -ls
There is a screen on:
48155.jupyter (Detached)
Socket in /var/run/screen/S-root.
想要返回我们刚才使用的screen窗口,可以这样:
$ screen -r # 其后可以通过指定窗口名打开特定窗口,默认打开上一个使用的窗口
# 看一下现在到底有多少个screen窗口开着
screen -ls |awk '/Socket/'|awk '{print $1}'
# 如果有5个,那就关闭5个
screen -ls|awk 'NR>=2&&NR<=5{print $1}'|awk '{print "screen -S "$1" -X quit"}'|sh
杀死会话窗口
如果想关掉一个多余的窗口,有3种方法:
kill -9 threadnum 例如,kill -9 2637 即可杀死线程,当然就杀死了窗口
使用Ctrl a +k 杀死当前窗口和窗口中运行的程序
使用Ctrl a 然后输入quit命令退出Screen会话。需要注意的是,这样退出会杀死所有窗口并退出其中运行的所有程序
清除死去的窗口
当窗口被杀死后,再用screen -ls 可以看到该窗口后面的(???dead)字样,说明窗口死了,但是仍在占用空间。这时需要清除窗口
$ screen -wipe #自动清除死去的窗口