服务公告

服务公告 > 技术教程 > screen 与 tmux:断线不丢终端会话

screen 与 tmux:断线不丢终端会话

发布时间:2026-10-10 15:06
## 两个工具的对比 screen 与 tmux 解决同一个问题:SSH 断开后正在跑的任务不死,重新连上还能看到原来的现场。两者都支持会话 detachment 与恢复、多窗口、竖直水平分屏。常用操作对照如下: ```bash screen -S build # 新建命名会话 screen -ls # 列出会话 screen -r build # 恢复会话 ``` ```bash tmux new -s build # 新建命名会话 tmux ls # 列出会话 tmux attach -t build # 恢复会话 ``` 会话内 detach 的快捷键分别是 Ctrl+a d 与 Ctrl+b d,detach 之后任务在后台继续执行,网络闪断也只相当于一次 detach。tmux 的配置体系更现代,状态栏信息更全,复制粘贴对鼠标友好,默认前缀键是 Ctrl+b;screen 胜在几乎每台老机器与最小化安装都自带,前缀键 Ctrl+a 离手更近。窗口管理上,tmux 支持给窗口命名、按序号快速跳转,会话多了之后状态栏的优势非常明显;screen 依赖编号记忆,用久了容易记混。重连之后连滚动缓冲区都还在,断线前打印的报错不会随着会话消失。 ## 各自的适用面 临时登上一台客户机器或存量老系统应急,screen 免安装直接用,是救火场景的保底选择。长期驻扎的开发机、需要多个窗格同时盯日志与敲命令、习惯用脚本批量创建和管理会话,tmux 用起来舒服得多,插件与速查资料也更丰富。跑数小时的编译任务尤其需要:在顺云云服务器上编大型依赖或内核模块,SSH 掉一次线任务就中断重跑,把任务放进会话里再动手,断线只是换个地方 attach 回去,损失为零。多人协作排障时,tmux 还支持两个人同时 attach 一个会话,你敲的命令对方实时可见,远程支援不用来回粘贴终端输出。 ## 怎么选 系统较新、自己有主导权的机器,直接用 tmux,功能与生态都在它这一边;维护老机器、追求零依赖零配置,保留 screen 的肌肉记忆也完全够用。同一台机器上别混着管会话,记不清就两个 ls 命令都跑一遍看看。真正重要的不是选哪个工具,而是养成"长任务先开会话"的肌肉记忆,这比任何参数技巧都值钱。会话命名带上日期与用途,用完及时清理,免得后台积累一堆无名会话白占资源。