tmux 终端复用入门 关掉 SSH 任务还在跑

举报
yd_286960584 发表于 2026/11/12 08:43:48 2026/11/12
【摘要】 在服务器上跑个耗时任务,传大文件、导数据库、编代码,最怕 SSH 一断任务跟着挂;同时要看日志、敲命令、盯服务,一个窗口来回切也麻烦。tmux 是终端复用工具,给终端开多窗口、分屏,还能让任务脱离 SSH 会话继续跑,断线重连后原样接回来。本文讲清它的会话、窗口、分屏三层结构和最常用的几条命令,以及长任务的正确姿势。先说它解决的两个痛点。第一个是断线丢任务:你用 SSH 连上服务器启动一个要...

在服务器上跑个耗时任务,传大文件、导数据库、编代码,最怕 SSH 一断任务跟着挂;同时要看日志、敲命令、盯服务,一个窗口来回切也麻烦。tmux 是终端复用工具,给终端开多窗口、分屏,还能让任务脱离 SSH 会话继续跑,断线重连后原样接回来。本文讲清它的会话、窗口、分屏三层结构和最常用的几条命令,以及长任务的正确姿势。

先说它解决的两个痛点。第一个是断线丢任务:你用 SSH 连上服务器启动一个要跑两小时的备份,网络一抖、笔记本一合,SSH 断了,备份进程也跟着被杀,只能从头再来。第二个是屏幕不够用:一个终端窗口里,日志在刷、命令要敲、服务状态要看,来回切换窗口或者开好几个 SSH 客户端,乱成一团。tmux 把这两件事一起收了。
它的结构分三层,记住就行。最外层是会话,会话就是一个独立的工作间,里面跑着的任务和你当前的 SSH 连接是分开的,SSH 断了会话还在服务器上好好的。会话里面可以开多个窗口,每个窗口像浏览器里一个标签页,用来放不同的事情。再往里,窗口能切成多个分屏,同一屏左边看日志、右边敲命令。最关键的一点是 detach:你按快捷键离开会话时,会话不死,任务继续跑;回来再 attach,接上就是离开时的样子。
上手只要六条命令。建会话:tmux new -s 备份,把会话起名叫备份,名字好记最重要。离开:先按 Ctrl+b 松开,再按 d,会话就挂在后台继续跑了。看列表:tmux ls,列出服务器上所有还活着的会话。接回:tmux attach -t 备份,回到那个会话。分屏:Ctrl+b 再按百分号是左右分,Ctrl+b 再按双引号是上下分,分屏之间用 Ctrl+b 加方向键切换。新开窗口:Ctrl+b 再按 c,在窗口之间用 Ctrl+b 加 n 和 p 切换。就这几条,日常九成场景够用。
典型用法说三个。跑长任务前先建会话,备份、下载、编译都放进会话里跑,你随时可以断开干别的,第二天接上看结果。排故障时开一个窗口盯日志、一个窗口敲命令、一个窗口看服务状态,不用来回翻。临时给同事看个现场,可以两个人接同一个会话,一起看同一个终端,等于屏幕共享的文字版。
最后几条使用提醒。第一,会话起个说得清的名字,别留一堆无名会话,过几天谁也分不清哪个是哪个。第二,接回之前先 tmux ls 看一眼,别接错了别人的会话互相干扰。第三,tmux 管的是断连不断任务,服务器重启后会话还是会消失,真正不能断的长任务,要配合 systemd 服务或者 nohup 这类手段兜底,两件事别混为一谈。第四,用完的会话记得清理,tmux kill-session -t 名字 删掉,别让僵尸会话在服务器上越攒越多。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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