tmux 入门实战:SSH 断线也不怕,让云服务器上的长任务安心跑完

举报
yd_252225969 发表于 2026/10/23 10:46:45 2026/10/23
【摘要】 SSH 断线导致云服务器上的长任务中断?tmux 用会话复用让进程在服务器端持续运行。本文从安装、会话管理、窗口分屏讲到一份实用的 .tmux.conf 配置,带你十分钟上手 tmux。

为什么需要 tmux

SSH 连上云服务器跑一个耗时几小时的编译或训练任务,最怕的就是网络抖动断线:连接一断,前台进程往往跟着结束,进度全部白费。tmux(terminal multiplexer,终端复用器)正是为解决这个问题而生。它在服务器端维护会话(session),你的终端只是「接入」会话而已。断线之后重新登录,执行一条 attach 命令就能回到原来的现场,任务毫发无损。

安装

主流发行版都可以直接用包管理器安装:

  • Debian / Ubuntu:sudo apt install tmux
  • CentOS / EulerOS:sudo yum install tmux(或 dnf)

五分钟上手

  1. 新建会话:tmux new -s work,其中 -s 用来给会话起名
  2. 暂时离开:按 Ctrl+b 再按 d(detach),会话会在后台继续运行
  3. 查看会话:tmux ls
  4. 回到会话:tmux attach -t work
  5. 结束会话:在会话里执行 exit,或在外面执行 tmux kill-session -t work

需要记住的是:tmux 的所有快捷键都要先按前缀键 Ctrl+b(称为 prefix),再按功能键。

窗口与窗格

一个会话里可以开多个窗口(window),用法类似浏览器的标签页:

  • Ctrl+b c:新建窗口
  • Ctrl+b n / Ctrl+b p:切换到下一个 / 上一个窗口
  • Ctrl+b 数字:直接跳到第 N 个窗口

窗格(pane)则是把一个窗口切成几块:

  • Ctrl+b %:左右分屏
  • Ctrl+b ":上下分屏
  • Ctrl+b 方向键:在窗格之间移动焦点
  • Ctrl+b z:临时放大当前窗格,再按一次还原

左边看日志、右边改代码、下面跑测试,一屏之内全部搞定。

复制模式与历史回滚

终端输出刷过去了想往上翻?按 Ctrl+b [ 进入复制模式,用方向键或 PgUp 翻页,按 q 退出。如果习惯用鼠标,可以在配置里开启 set -g mouse on,之后滚轮翻页、点击切换窗格、拖动调整窗格大小就都支持了。

一份够用的 ~/.tmux.conf

set -g mouse on
set -g base-index 1
setw -g pane-base-index 1
set -g history-limit 10000
bind r source-file ~/.tmux.conf \; display "Config reloaded"

这份配置做了四件事:开启鼠标支持、让窗口编号从 1 开始(键盘上按起来更顺手)、把历史回滚行数放大到一万行、绑定 r 键一键重载配置。改完后在 tmux 里按 Ctrl+b 再按 r 即可生效,不用重启会话。

典型使用场景

  • 在 ECS 上跑模型训练、数据处理等长任务:放在 tmux 里启动,断线重连不丢进度
  • 多服务联调:一个窗口跑后端服务,一个窗口滚动看日志,一个窗口执行 curl 验证接口
  • 远程排障:tmux 支持多个终端 attach 到同一会话,双方看到同一块屏幕,沟通成本骤降

小结

tmux 的学习成本只有最初十分钟:记住 new、attach、detach 三个命令和分屏操作,就覆盖了九成的日常需求。把长任务交给 tmux 托管之后,SSH 断线不再是事故,而只是「待会儿再连回来看看」的小事。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。