脱离本地运行项目
脱离本地运行
方法一
直接输出日志到文件
- 正常连接服务器,不要运行项目
- 打开左下角terminal终端
- 在终端的左上方,local右方的+号旁点开下拉按钮
- 选择 Remote python xxxxxx(或者guest@服务器)
需要在终端执行代码或者自己修改运行设置
语法 nohup xxxxx log.txt 2>&1 &
1 | CUDA_VISIBLE_DEVICES=0,1 添加nohup 执行代码 > log.txt 2>&1 & 将输出全部转入log.txt文件夹中(还是在服务器里)其中 |
然后打开log.txt就可以看到所有的输出了
弊端
运行后只能通过终端查id杀进程才能终止
方法二
记录窗口到screen保活
- 正常连接服务器,不要运行项目
- 打开左下角terminal终端
- 在终端的左上方,local右方的+号旁点开下拉按钮
- 选择 Remote python xxxxxx(或者guest@服务器)
- 找到自身项目在服务器中的绝对路径(可在远程文件中copy absolute path) 例如/home/user/xxx/DBCNN 确保需要运行的文件在该路径下
- 在终端输入如下指令
1
2
3
4
5
6
7
8
9cd /home/user/xxx/DBCNN ## 进入项目
conda activate xxx ##激活环境
screen -S nameofscreen ## 创建窗口 nameofscreen为窗口名称 参数-S要大写 此时窗口理应刷新
python train.py ##运行训练文件
Ctrl + A,然后按 D ## 将 screen 会话放到后台并继续运行
screen -ls ##查看当前screen的运行列表 通常是id.nameofscreen
screen -r nameofscreen ##打开名为nameofscreen 的窗口来查看输出
screen -d nameofscreen ##当断线重连时候会显示已经被占用,使用该指令解除占用
查看
一般窗口刷新后便已经进入成功了,这时候可能什么都没有,
那是因为记录的东西在窗口的上面
** 此时screen窗口是不可上下滚动查看的需要输入如下指令**
Ctrl + A,然后松手,再按 esc ##进入编辑模式后可以上滚查看记录
1 | screen -S <会话名称或ID> -X quit ##退出对话 |
Ctrl + A,然后按 D 将 screen 会话放到后台并继续运行 这也是退出
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Guge的博客!
