笔者在模型训练过程中,训练时间可能从半天到几天不等,无法时刻监控服务器,一旦意外退出会导致训练中断。使用screen命令可以将训练任务挂起至后台,有效避免此类问题。
下面举例来说明一下怎么用screen运行任务后台挂起。
1.创建会话
screen -S aoteman
创建后如下图
2.运行命令
运行你的命令,这里举例一个YOLO训练的例子。
yolo task=detect mode=train model=yolov8n.yaml data=./bag_data.yaml pretrained=./yolov8n.pt imgsz=640 save=True epochs=400 patience=50 resume=True device=0
成功运行如下图
3.分离会话
分离会话也就是后台挂起这个会话。
ctrl-a + d
注:按住ctrl和a的情况下,再按d。
4.查看会话
screen -ls
注:后台挂起时状态为Derached,若在会话中则显示Attached。
5.进入会话
- 状态为Derached时
screen -r aoteman
- 状态为Attached时
screen -r -d aoteman
注:加-d会强制挤出进入当前会话的用户。
r
: 重新连接到一个已经存在的screen
会话(re-attach)。d
: 强制从其他终端中断开指定的screen
会话(detach)。
再次进入会话,命令仍在运行,如下图:
6.screen常用快捷键
快捷键 | 功能说明 |
---|---|
Ctrl-a c | 创建一个新的窗口(会话)。 |
Ctrl-a n | 切换到下一个窗口。 |
Ctrl-a p | 切换到上一个窗口。 |
Ctrl-a " | 显示窗口列表,可以选择切换窗口。 |
Ctrl-a 0-9 | 切换到指定编号的窗口(0-9)。 |
Ctrl-a k | 关闭当前窗口。 |
Ctrl-a d | 暂时离开(detach)当前 screen 会话。 |
Ctrl-a A | 重命名当前窗口。 |
Ctrl-a S | 将当前区域拆分为上下两个区域。 |
Ctrl-a Tab | 在拆分的区域间切换。 |
Ctrl-a X | 关闭当前区域。 |
Ctrl-a ? | 显示所有快捷键帮助。 |
Ctrl-a [ | 进入滚屏模式,可以上下查看历史输出。 |
Ctrl-a ] | 粘贴缓冲区内容。 |
恭喜你学会了screen命令,以后服务器断开,也不怕命令中断了!
标签:窗口,Ctrl,Screen,会话,快捷键,命令,使用,screen From: https://blog.csdn.net/weixin_48870215/article/details/144644358