当前位置: 首页 > ops >正文

ssh连接断开,保持任务后台执行——tmux

目录

      • **核心用途**
      • **基础使用方法**
        • 1. **安装 tmux**
        • 2. **启动新会话**
        • 3. **常用快捷键(需先按 `Ctrl+b` 前缀)**
        • 4. **会话管理命令**
        • 5. **窗格操作进阶**
      • **典型工作流**
      • **注意事项**
      • **配置文件(~/.tmux.conf)**

tmuxTerminal Multiplexer)是一个强大的终端复用工具,用于在单个终端窗口中管理多个 终端会话窗口窗格。它能让用户在一个连接中执行多个任务,并在断开连接后保持任务后台运行,非常适合远程服务器管理或长时间运行的任务。


核心用途

  1. 会话持久化
    ssh 断开后,会话仍在后台运行,重新连接可恢复工作现场。
  2. 多窗口/窗格管理
    分割终端为多个窗格,或创建多个窗口,高效并行操作。
  3. 会话共享
    允许多用户同时连接同一会话(协作或演示)。
  4. 后台任务管理
    长时间运行的任务(如编译、下载)可放入后台,不影响本地终端。

基础使用方法

1. 安装 tmux
# Ubuntu/Debian
sudo apt install tmux# CentOS/RHEL
sudo yum install tmux# macOS (Homebrew)
brew install tmux
2. 启动新会话
tmux new -s mysession  # 创建名为 "mysession" 的会话
3. 常用快捷键(需先按 Ctrl+b 前缀)
快捷键功能
%垂直分割窗格(左右布局)
"水平分割窗格(上下布局)
方向键切换窗格
c创建新窗口
n/p切换到下一个/上一个窗口
d分离会话(后台运行)
z最大化/恢复当前窗格
&关闭当前窗口
x关闭当前窗格
4. 会话管理命令
# 查看所有会话
tmux ls# 恢复指定会话
tmux attach -t mysession# 关闭会话
tmux kill-session -t mysession# 在会话内重命名当前窗口
Ctrl+b ,  # 输入新名称后回车
5. 窗格操作进阶
操作快捷键
调整窗格大小Ctrl+b 方向键(按住不放)
切换窗格布局Ctrl+b Space(循环切换预设布局)
同步输入到所有窗格Ctrl+b :setw synchronize-panes

典型工作流

  1. 连接远程服务器:ssh user@server
  2. 启动 tmux:tmux new -s mywork
  3. 执行任务:
    • 垂直分屏:Ctrl+b % → 左侧运行 top,右侧编辑代码。
    • 新建窗口:Ctrl+b c → 编译程序。
  4. 断开连接:Ctrl+b d(任务在后台运行)。
  5. 重连后恢复:tmux attach -t mywork → 恢复所有窗口和窗格。

注意事项

  • 前缀键:所有快捷键需先按 Ctrl+b(可自定义为 Ctrl+a 等)。
  • 退出窗格:在窗格内输入 exitCtrl+d 关闭当前窗格。
  • 滚动查看Ctrl+b [ 进入滚动模式,方向键查看历史,按 q 退出。

配置文件(~/.tmux.conf)

自定义行为(示例):

# 将前缀键改为 Ctrl+a
set -g prefix C-a
unbind C-b
bind C-a send-prefix# 启用鼠标支持(切换窗格/调整大小)
set -g mouse on# 设置状态栏颜色
set -g status-bg blue

修改后需重载配置:tmux source-file ~/.tmux.conf


掌握 tmux 可极大提升终端工作效率,尤其适合管理服务器或复杂工作流。更多功能可通过 man tmux 或 官方文档 探索。

http://www.xdnf.cn/news/10113.html

相关文章:

  • MySQL索引与性能优化入门:让查询提速的秘密武器【MySQL系列】
  • 现代网络安全攻防技术与发展现状
  • 前端面经 websocket
  • Linux笔记---线程
  • 【Github/Gitee Webhook触发自动部署-Jenkins】
  • 数据库主键与索引详解
  • 2025年- H60-Lc168--35.搜索插入的位置(二分查找)--Java版
  • 关于xilinx pcie ip core管脚分配出现布局布线报错问题说明
  • IPD流程体系-TR2评审要素表
  • ThreeJS基础知识
  • JavaScript字符串方法全面指南:从基础到高级应用
  • 优质电子实验记录本如何确保数据不泄密?
  • python出租车计费 2023年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析
  • 基于element-UI 实现下拉框滚动翻页查询通用组件
  • 软件需求文档如何做精确度度量
  • write和read命令中的通道号指南
  • GRCh38版本染色体位置转换GRCh37(hg19)
  • 【leetcode】704. 二分查找
  • Java 基础 常见知识
  • 如何科学测量系统的最高QPS?
  • 深入理解 Git 底层机制:指针(Refs)、提交(Commit)与分支的关系
  • Re--题
  • 轻量级swiper插件推荐
  • 在线制作幼教早教行业自适应网站教程
  • TDengine 运维——巡检工具(定期检查)
  • AD9361 的工作原理
  • 正点原子Z15I ZYNQ 开发板发布!板载PCIe2.0、SPFx2、MIPI CSI等接口,资料丰富!
  • kanass V1.1.3版本发布,支持需求评审和Jira的数据导入
  • cocosCreator导出的web工程加载本地图片
  • 默克微生物培养基选择指南