tmux 入门:远程会话断线了,你的任务还在跑

举报
yd_255726501 发表于 2026/11/09 08:16:43 2026/11/09
【摘要】 SSH 一断,远程任务就跟着没了?tmux 把会话托管在服务器上,断线重连后一条命令就能回到原来的屏幕。本文讲安装、新建与恢复会话、窗口分屏和两个顺手配置。

远程服务器上跑一个训练任务,动不动就是几小时甚至一夜。最怕的不是任务跑得慢,而是 SSH 一断,终端里跑着的进程跟着一起没了——第二天早上打开电脑,只剩一句 connection closed,和一个从头再来的任务。tmux 就是为了解决这个问题而生的。它是一个终端复用器:把你的 Shell 会话托管在一个独立的服务端进程里,和你的 SSH 连接解耦。网络断了,会话还在服务器上跑;重新连上来,一条命令就能回到原来的屏幕,输出一行都不少。先装好它。大多数发行版一行命令就能装:Debian/Ubuntu 用 sudo apt install tmux,CentOS/RHEL 用 sudo yum install tmux,macOS 用 brew install tmux。装好后输入 tmux new -s train,就新建了一个名叫 train 的会话,名字自己取,见名知意最好。在会话里正常跑你的命令,比如 python train.py。想离开时别直接关终端,按 Ctrl+b 再按 d,会话就“分离”了,任务继续在后台跑。随时用 tmux ls 看有哪些会话,用 tmux attach -t train 回到指定会话。任务跑完了,用 tmux kill-session -t train 把它清掉。一个会话里还能开多个窗口和窗格。Ctrl+b c 新建窗口,Ctrl+b n/p 在窗口间切换;Ctrl+b % 左右分屏,Ctrl+b " 上下分屏,Ctrl+b 加方向键在窗格之间移动。日志、训练、监控各占一格,一个屏幕全看清。断线重连的正确姿势就三步:重新 SSH 登录服务器;tmux ls 确认会话还在;tmux attach -t train 回去。哪怕中途笔记本合盖、Wi-Fi 切换,任务都不会因为你这边断线而中断。再给两个让 tmux 更顺手的小设置,写进 ~/.tmux.conf:set -g mouse on 开启鼠标支持,可以直接点窗格、拖动边框;set -g history-limit 50000 把滚动回看的行数调大,方便翻旧日志。改完后 tmux source-file ~/.tmux.conf 生效,或者新开会话自动加载。最后提醒几个新手常踩的坑:第一,会话名别用默认的数字,用 train、deploy 这种有意义的名字;第二,exit 是退出当前 Shell,窗口里所有 Shell 都退出会话才会结束,别把分离(Ctrl+b d)和退出搞混;第三,服务器重启后会话会消失,关键任务还是要把结果及时写盘。对常年和远程服务器打交道的人来说,tmux 不是锦上添花,而是基本功。它不解决算力问题,但能让你从“盯着终端不敢断网”的状态里解放出来。花十分钟装好它、记住分离和恢复这两个动作,今晚的长任务就可以放心交给服务器了。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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