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.pswp.cn/pingmian/83110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3D Gaussian splatting 04: 代码阅读-提取相机位姿和稀疏点云

目录 3D Gaussian splatting 01: 环境搭建3D Gaussian splatting 02: 快速评估3D Gaussian splatting 03: 用户数据训练和结果查看3D Gaussian splatting 04: 代码阅读-提取相机位姿和稀疏点云3D Gaussian splatting 05: 代码阅读-训练整体流程3D Gaussian splatting 06: 代码…

每日c/c++题 备战蓝桥杯(P1204 [USACO1.2] 挤牛奶 Milking Cows)

P1204 [USACO1.2] 挤牛奶 Milking Cows - 详解与代码实现 一、题目背景 三个农民每天清晨[……](简要介绍题目背景,与官网描述类似) 二、问题分析 输入要求 :读取 N 个农民的挤奶时间区间,计算两个值:最…

保持本地 Git 项目副本与远程仓库完全同步

核心目标: 保持本地 Git 项目副本与 GitHub 远程仓库完全同步。 关键方法: 定期执行 git pull 命令。 操作步骤: 进入项目目录: 在终端/命令行中,使用 cd 命令切换到你的项目文件夹。执行拉取命令: 运行…

Flutter 4.x 版本 webview_flutter 嵌套H5

踩坑早期版本 使用 WebView 代码如下 import package:flutter/material.dart; import package:webview_flutter/webview_flutter.dart;class HomePage extends StatelessWidget {const HomePage({super.key});overrideWidget build(BuildContext context) {return Scaffold(ap…

rtpinsertsound:语音注入攻击!全参数详细教程!Kali Linux教程!

简介 2006年8月至9月期间,我们创建了一个用于将音频插入指定音频(即RTP)流的工具。该工具名为rtpinsertsound。 该工具已在Linux Red Hat Fedora Core 4平台(奔腾IV,2.5 GHz)上进行了测试,但预…

跑步前热身动作

跑前热身的核心目标是升高体温、激活肌肉、预防损伤 ,同时通过动态动作提升运动表现。热身(步骤关节→肌肉→心肺)和针对性动作(如抱膝抬腿)能有效降低受伤风险,建议每次跑步前严格执行。 推荐跑前热身动作…

GIT命令行的一些常规操作

放弃修改 git checkout . 修改commit信息 git commit --amend 撤销上次本地commit 1、通过git log查看上次提交的哈希值 2、git reset --soft 哈希值 分支 1.创建本地分支 git branch 分支名 2.切换本地分支 git checkout mybranch; 3.创建一个新分支并…

RAGFlow从理论到实战的检索增强生成指南

目录 前言 一、RAGFlow是什么?为何需要它? 二、RAGFlow技术架构拆解 三、实战指南:从0到1搭建RAGFlow系统 步骤1:环境准备 步骤2:数据接入 步骤3:检索与生成 四、优化技巧:让RAGFlow更精…

软件工程方法论:在确定性与不确定性的永恒之舞中寻找平衡

当我们谈论“软件工程”时,“工程”二字总暗示着某种如桥梁建造般的精确与可控。然而,软件的本质却根植于人类思维的复杂性与需求的流变之中。软件工程方法论的发展史,并非线性进步的凯歌,而是一部在确定性的渴望与不确定性的现实…

Python打卡训练营Day41

DAY 41 简单CNN 知识回顾 数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率 卷积操作常见流程如下: 1. 输入 → 卷积层 →…

开源版 PyMOL 如何绘制 Galidesivir 分子结构 ?

参阅:开源版PyMol安装保姆级教程 百度网盘下载 提取码:csub pip show pymol 简介: PyMOL是一个Python增强的分子图形工具。它擅长蛋白质、小分子、密度、表面和轨迹的3D可视化。它还包括分子编辑、射线追踪和动画。 先从 www.python.org 下载 python-…

【FPGA】Vivado 保姆级安装教程 | 从官网下载安装包开始到安装完毕 | 每步都有详细截图说明 | 支持无脑跟装

安装包下载:Xilinx_Vivado Download Link(下好后可直接安装) 目录 (有安装包后,可直接跳转至 Step5,免得去官网下了,比较麻烦) Step1:进入官网 Step2:注册…

纯html,js创建一个类似excel的表格

后台是php,表中数据可编辑,可删除,可提交到数据库 <!DOCTYPE html> <html> <head><meta charset="utf-8"><style>body {font-family: Arial, sans-serif;margin: 20px;background-color: #fff;}.toolbar {margin-bottom: 10px;disp…

密码编码器使用指南

密码编码器概述 通过第三章的学习,您应该已经对UserDetails接口及其多种实现方式有了清晰认识。如第二章所述,在认证授权流程中,不同参与者负责管理用户凭证的表示形式,其中UserDetailsService和PasswordEncoder等组件都提供了默认实现。本节将重点分析PasswordEncoder的核…

《数据结构初阶》【番外篇:二路归并的外排史诗】

【番外篇&#xff1a;多路归并的外排史诗】目录 前言&#xff1a;---------------介绍---------------一、实际情景二、外部排序什么是外部排序&#xff1f; 三、多路归并排序什么是多路归并排序&#xff1f; ---------------实现---------------四、文件归并文件二路归并排序思…

DDP与FSDP:分布式训练技术全解析

DDP与FSDP:分布式训练技术全解析 DDP(Distributed Data Parallel)和 FSDP(Fully Sharded Data Parallel)均为用于深度学习模型训练的分布式训练技术,二者借助多 GPU 或多节点来提升训练速度。 1. DDP(Distributed Data Parallel) 实现原理 数据并行:把相同的模型复…

MATLAB实战:实现数字调制解调仿真

以下是使用MATLAB实现BPSK和QPSK数字调制解调仿真的完整代码。该代码包括调制、AWGN信道、匹配滤波/相关解调、星座图绘制以及误码率计算与理论值比较。 %% 清理环境 clear all; close all; clc; %% 参数设置 numBits 100000; % 传输比特数 EbN0_dB 0:2:10; …

数据可视化的定义和类型

数据可视化是一种将数据转换为图形或视觉表示的方法。想象一下&#xff0c;你面前有一堆数字和表格&#xff0c;看着这些&#xff0c;可能会让人头大。数据可视化就像是给这些枯燥的数字画上一幅画。它用图表、地图和各种有趣的图形&#xff0c;帮我们把难懂的数字变得容易看懂…

*JavaScript中的Symbol类型:唯一标识符的艺术

JavaScript中的Symbol类型&#xff1a;唯一标识符的艺术 在JavaScript的世界中&#xff0c;数据类型一直是开发者关注的焦点。从基本的Number、String到后来的Symbol&#xff0c;每一种类型的引入都为语言本身注入了新的活力。而今天我们要聊的主角——Symbol&#xff0c;是ES…

粽叶飘香时 山水有相逢

粽叶飘香时 山水有相逢 尊敬的广大客户们&#xff1a; 五月初五&#xff0c;艾叶幽香。值此端午佳节&#xff0c;衡益科技全体同仁向您致以最诚挚的祝福&#xff01; 这一年我们如同协同竞渡的龙舟&#xff0c;在数字化转型的浪潮中默契配合。每一次技术对接、每轮方案优化&a…