tmux 会话管理速记:SSH 断线也不丢长任务
【摘要】 tmux 会话管理速记:安装建会、脱离恢复、分屏多窗口,以及给部署、备份等长任务加一道保险,SSH 断线也不丢任务。
在云服务器上跑长任务,最怕 SSH 一断,进程就跟着没了。tmux 的解法很简单:把任务放进一个可以随时 detach、随时再 attach 的会话里,网络断了,会话还在服务器上跑。
一、安装与第一个会话
# Ubuntu/Debian
sudo apt install tmux
# 进入一个名为 deploy 的会话
tmux new -s deploy
会话里正常执行命令即可,退出会话用 exit,关闭终端也不会杀掉它。
二、脱离与恢复
在会话内先按 Ctrl+b,再按 d,即可脱离会话回到普通终端,任务继续在后台跑。
tmux ls # 列出所有会话
tmux attach -t deploy # 回到 deploy 会话
tmux kill-session -t deploy # 任务跑完后关闭会话
三、分屏与多窗口
一个会话里可以开多个窗口、多个窗格,同时看日志、跑构建:
Ctrl+b c # 新建窗口
Ctrl+b n / p # 下一个 / 上一个窗口
Ctrl+b % # 左右分屏
Ctrl+b " # 上下分屏
Ctrl+b 方向键 # 在窗格之间切换
四、给长任务加一道保险
部署脚本、备份、日志拉取这类动辄几十分钟的任务,先进 tmux 再跑:
tmux new -s backup
./backup.sh > backup.log 2>&1
# 按 Ctrl+b 再按 d 脱离,回家也能 tmux attach 回来看进度
五、两个小习惯
- 会话按用途命名:deploy、backup、monitor,比默认的数字 0、1 好找得多。
- 退出会话用 exit 或 tmux kill-session,别直接关终端,留下一个没人认领的残留会话。
一句话总结:凡是“跑起来就不能断”的命令,先 tmux new -s 起个名再跑,断线、关机、下班都不怕,回来 attach 就能接着看。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)