第一次用 tmux 管理远程会话:断线也不丢任务的实战

举报
yd_229851404 发表于 2026/11/08 06:04:04 2026/11/08
【摘要】 在云服务器上跑一个长任务,最怕的就是 SSH 断线:本地网络一抖、笔记本一合盖,正在跑的脚本就跟着会话一起没了。tmux 解决的就是这个问题:它在服务器上保持一个会话,任务在会话里跑,和你的 SSH 连接解耦,断线了再连回来,任务还在。 一、先安装 tmuxUbuntu / Debian:sudo apt update && sudo apt install -y tmuxCentOS / ...

在云服务器上跑一个长任务,最怕的就是 SSH 断线:本地网络一抖、笔记本一合盖,正在跑的脚本就跟着会话一起没了。tmux 解决的就是这个问题:它在服务器上保持一个会话,任务在会话里跑,和你的 SSH 连接解耦,断线了再连回来,任务还在。

一、先安装 tmux

Ubuntu / Debian:

sudo apt update && sudo apt install -y tmux

CentOS / Rocky:

sudo yum install -y tmux

装完输入 tmux -V 能看到版本号就说明可用了,不需要额外配置就能上手。

二、三个命令,先跑起来

新建一个会话:

tmux new -s backup

-s backup 是给会话起个名字,比默认的数字编号好认得多。在这个会话里启动你的长任务,比如备份、下载、编译。

要离开时按 Ctrl+B 再按 D,这叫分离(detach)。会话还在服务器后台跑,你可以放心断开 SSH。

下次登录后恢复:

tmux ls
tmux attach -t backup

tmux ls 列出所有会话,attach 就回到刚才的现场,屏幕上的输出一点没少。这就是 tmux 最核心的用法,先记住这三步就够了。

三、一个会话里开多个窗口

一个会话不够用时,不用再开多个 SSH。在 tmux 里按 Ctrl+B 再按 C 新建窗口,Ctrl+B 再按数字键切换窗口,Ctrl+B 再按 N 切换到下一个窗口。

比如一个窗口跑备份、一个窗口看日志、一个窗口写配置,互不干扰。窗口名字也可以改:Ctrl+B 再按 , 输入新名字,回车确认。

四、窗格:一个窗口分屏看

想同时看任务输出和日志,可以把一个窗口分成上下或左右两个窗格:Ctrl+B 再按 % 左右分屏,Ctrl+B 再按 " 上下分屏,Ctrl+B 再按方向键在窗格之间移动。

分屏后一边跑 tail -f 看日志,一边在另一边敲命令,排障时特别顺手。退出某个窗格直接输入 exit 即可。

五、一次完整的断线恢复实战

  1. 登录云服务器,执行 tmux new -s train 新建会话。
  2. 在会话里启动长任务,例如 ./run.sh > run.log 2>&1。
  3. 按 Ctrl+B 再按 D 分离,关闭本地终端。
  4. 重新 SSH 登录,执行 tmux attach -t train,任务还在跑,日志也在。
  5. 任务跑完后,在会话里输入 exit,会话自动结束。

我第一次这样用时,特意在任务跑到一半时断开 Wi-Fi 再重连,看到进度没有丢失,才真正放心把长任务交给 tmux。

六、两个容易踩的坑

第一,tmux 保的是会话,不是服务器。服务器重启后,会话和里面的任务都会消失,真正重要的定时任务还是要交给 systemd 或定时任务去管。

第二,会话用完及时清理。tmux kill-session -t backup 删掉指定会话,tmux kill-server 删掉全部会话。长期留着一堆空会话,tmux ls 会越看越乱。

小结

tmux 不需要复杂配置就能解决远程工作里最常见的一个痛点:断线丢任务。记住 new、detach、attach 三个动作,再加窗口和窗格两个分屏技巧,日常的远程运维就够用了。下次要在服务器上跑超过十分钟的任务,先开一个 tmux 会话再动手。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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