当我连服务器训练模型的时候,会遇到一些情况:
- 用服务器下载东西
- 运行一个程序跑模型
- 因为没有root权限,无法后台开代理等
此时只有分屏,我们才能继续工作,screen就是一个极易上手的分屏工具,下面介绍 screen 从安装到使用的一个完整的分屏流程:
安装 screen
Centos 系统没有预安装 screen, 需要我们手动下载:
yum -y install screen
显示安装成功,然后查看版本:
screen -v
成功显示版本。接下来我们按增查改删的顺序介绍screen的基本操作。
增
首先,创建一个screen会话,命令行输入:
screen -S opwin # 这步操作是创建一个名为opwin的screen,
# 以命名方式创建的好处是便于以后的调用
接着创建若干个窗口,快捷键:
ctrl+a c # 先连着按ctrl和a,松开后再按下c,就可以在当前screen中
# 创建一个新的窗口
查
查看会话情况,命令行输入:
screen -ls
查看窗口情况,快捷键:
ctrl+a w # 终端下方会显示目前screen有多少个窗口
如下图:
数字后面带*表示当前为窗口4。
ctrl+a 数字 # 比如ctrl+a 0,就是切换到0窗口
切换到下一个窗口:
ctrl+a n
ctrl+a 空格 #二者效果相同
切换到上一个窗口:
ctrl+a p
改
改screen名,命令行输入:
screen -S old_session_name -X sessionname new_session_name
改当前screen名,快捷键:
ctrl+a : # 此时下方会出现一个黑框,然后输入
sessionname opname #opname为当前screen的新名字
结果:
删
关闭当前窗口,快捷键:
ctrl+a k
脱离(detach)当前会话,快捷键:
ctrl+a d # 不建议直接用exit退出screen,
# 因为exit后,screen仍是attached状态,若想重新进入会麻烦一点
此时虽然脱离窗口,但窗口内的程序仍在进行,可以通过命令行输入
screen -ls #查看所有的session
screen -r opname # 重新进入opname这个screen,-r可以理解为reattach
进行检验。
如果想彻底杀死这个screen:
screen -ls
kill ID # ID为下图中箭头所指
掌握以上基本流程,我们就可以给服务器上挂个项目后,优雅的睡觉去了。