tmux 入门:在云服务器上跑长任务,断线也不中断
【摘要】 用 tmux 在云服务器上跑长任务:创建会话、断线后接回、窗口分屏与实用习惯,SSH 断线也不中断。
在云服务器上编译项目、跑训练任务或做数据迁移时,最怕的就是 SSH 断线。网络一抖,前台进程跟着被杀掉,半小时的进度白费。tmux 是一个终端复用工具:把会话留在服务器上,本地断线后重新连上还能接回去。本文用最常用的几条命令把它讲清楚。
一、安装与创建会话
多数发行版都可以直接安装:
sudo apt install tmux # Debian/Ubuntu
sudo yum install tmux # CentOS/RHEL
创建并进入一个名为 build 的会话:
tmux new -s build
之后在这个窗口里启动你的长任务即可。默认前缀键是 Ctrl+b,先按它再按其他键才是 tmux 命令。
二、断线后怎么接回来
不想结束任务,只是暂时离开,按 Ctrl+b 再按 d,会话会「分离」到后台,SSH 关掉也没关系。下次登录服务器后:
tmux ls # 看有哪些会话
tmux attach -t build # 接回刚才那个
如果只剩一个会话,直接 tmux a 也可以。
三、窗口和分屏
一个会话里可以开多个窗口:Ctrl+b c 新建,Ctrl+b n / p 切换下一个 / 上一个,Ctrl+b 数字键跳到指定窗口。需要同时盯两块屏幕时,Ctrl+b % 左右分屏,Ctrl+b " 上下分屏,Ctrl+b 方向键在窗格间移动。不需要的窗格用 exit 退出即可。
四、几个实用习惯
给会话起有意义的名字,方便 tmux ls 时辨认;长任务开始前先确认已经在 tmux 里,避免「以为开了其实没有」;重要输出可以配合 tee 写到日志文件,方便事后排查。学会这几条,日常在云服务器上跑任务会稳很多。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)