背景
做深度学习的小伙伴一般需要远程连接服务器,常用的就是 SSH,但是有一个问题就是 SSH 是基于网络链接的,如果网络突然挂了,那直接就断掉了,对于训练来说是究极致命的。
为了解决这个问题,需要将链接开启的程序放到后台去,这样哪怕断网了也不会影响程序继续跑下去
对于 pycharm 的远程链接设置可以看我另一篇文章:
https://blog.csdn.net/kindel/article/details/129173031?spm=1001.2014.3001.5501
操作
有两种方式能够实现远程连接:nohup
和screen
由于 screen 更好用,因此先介绍 screen
screen
- 可能第一次使用的时候得先安装一下
sudo apt-get update
sudo apt-get install screen
- screen 各种命令
创建 screen 窗口
screen -S screen_name [-L]
# 这里 -L 是可选的,主要是生成一个 screenlog.0 文件来保存窗口终端的输出
提示:如果用conda激活环境,那么最好先创建了窗口再进行
conda activate env_name
退出 screen 窗口(挂在后台了)
ctrl+a+d
查看当前 screen 窗口
screen -ls
重新进入刚才退出的窗口
screen -r PID
关闭窗口
kill -9 PID
# 或者
screen -S your_screen_name -X quit
总结一下:我们用 screen -S screen_name 创建了新窗口之后,就像是普通终端,能干任何事情。然后看情况退出和 kill 掉就行了
nohup(不推荐)
由于我也不是很明白,所以这里提供两个连接给大家参考