先说废话
深度学习训练一个模型至少需要几个小时、几天甚至更久,其中万一断网或者电脑死机导致命令窗口关闭,窗口中执行的会话将会自动停止,这会带来很多不便,因此如果能将会话和窗口分离(窗口关闭会话也不影响)那必定是最好的结果。以前本菜用的nohup,发现不是很方便,后来大神介绍本菜一个利器——tmux,瞬间爽爆!果断放弃nohup!
安装tmux
sudo apt-get install tmux
使用tmux
启动tmux
进入tmux ,命令tmux
如下图,已成功进入tmux,并在编号为0的默认伪窗口中
查看窗口
查看所有tmux伪窗口 tmux ls
attached表示当前所在的伪窗口
新建窗口
创建tmux伪窗口, tmux new -s 伪窗口名字(111)
如上图所示,创建窗口失败,这是初学者一开始可能不注意犯得错误,在尝试在tmux伪窗口(0)中创建另一个为窗口(111),这是不允许的。我们可以先退出tmux,Ctrl+ d
,然后再执行上述命令创建。
窗口会话分离
注意创建完窗口以后要先分离,然后在Ctrl+ d
退出tmux重新创建新窗口才不会被覆盖。分离窗口与会话快捷键先按Ctrl+b
再按d
,Ctrl+b
是告诉tmux我要开始输入指令了,d
才是真正的指令。因此你会发现很多快捷键都会先输入Ctrl+b
,也可以直接在窗口中输入tmux detach
进行分离。
整体流程:新建窗口(自动跳进新建窗口)—分离窗口会话—退出tmux----新建窗口2…
接入、杀死会话
上一步分离之后,即使你关闭所有的终端那些会话都还存在(与窗口无关),那该重新进入这些会话呢?
直接在tmux外部执行tmux attach -t tt100k2(新建窗口的编号)
彻底杀死会话tmux kill-session -t <name>
参考1:https://zhuanlan.zhihu.com/p/98384704
参考2:https://www.ruanyifeng.com/blog/2019/10/tmux.html
分屏
划分上下两个窗格
tmux split-window
划分左右两个窗格
tmux split-window -h
选择某个分屏
Ctrl+b
再按方向键(↑ ↓ ← →)
退出某个分屏
Ctrl+d