开源软件

Linux 故障排除:关闭 SSH 会话后如何保存工作状态?

大多数时候,我用 SSH 命令行去连接我的远程服务器。不幸的是,今天断电了,网络集线器也关闭了,所以我的SSH会话丢失了。如果你的一个重要工作的SSH会话丢失了你会怎么办?这里有个叫做 Tmux 的简单工具,它会在 Putty 或者 SSH 会话结束之后保持一个进程记录你的工作。

Tmux 是一个终端复用器。它支持单个窗口多终端的创建、访问、控制。Tmux 在你在断开连接之后继续运行,当你重新连接就能获得之前的工作状态。

下面是具体的操作过程:

首先,在你的远程计算机里面安装 Tmux.

基于 RPM 的系统:
yum install tmux

基于 DEB 的系统:

apt-get install tmux

在安装 Tmux 之后 SSH 连接到你的远程计算机上,这里以 CentOS 7 为例。

ssh root@ip地址

打开你的终端,然后运行 Tmux.

tmux

然后运行你想执行的任务.

这里我以升级 CentOS 7 为例。

yum update

运行结果:

root@server1_001

现在这个更新进程正在运行。然后按下"D"之后按下"Ctrl+B"来离开 tmux 会话.

现在,回到实际的终端,但是此时工作进程仍在 tmux 会话里面运行。用 SSH 断开并重新连接到远程计算机。在终端里输入 tmux attach

tmux attach

下图显示你的工作任务处于什么状态

root@server1_002

类似的,你可以在 tmux 会话中运行你需要的任务,数目不限。当然,你可以通过 Ctrl-B 和 $ 对每个会话重命名。

你可以查看当前运行的 tmux 会话数目:

tmux list-sessions

结果举例:

0: 1 windows (created Thu Jan 8 15:13:42 2015) [80x23]
1: 1 windows (created Thu Jan 8 15:20:05 2015) [80x23]

Tmux 的功能远远不止以上所介绍的,我们可以在远程计算机上执行需要长时间执行的任务后断开连接,在之后的时间我们可以重新登录后通过 Tmux 查看运行状态。

你也可以通过以下命令查看更多内容:

man tmux

原文链接:http://www.unixmen.com/linux-troubleshooting-keep-process-running-putty-ssh-session-closed/

软件主页:http://tmux.sourceforge.net/

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
TO LIVE IS TO CHANGE THE WORLD

    You may also like

    2 Comments

    1. screen!!!!!!!!

      1. 哈哈,没错,sreen 也可以。但是 tmux 专门干这个事儿的,更强大。

    回复 袅残烟 取消回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:开源软件

    开源软件

    嵌入式 Linux 的瑞士军刀:BusyBox

    上期文章中,笔者向各位介绍了 musl,一个 Glibc 的替代方案,它的主要优势体现在更加整洁的代码、更小的二进制体积和更优秀的静态链接支持。而本期文章的主角:BusyBox 则是 GNU Core […]
    开源项目

    Pwnagotchi 开箱教程

    Pwnagotchi 是一个由 Bettercap 驱动的 A2C 的 “AI”,它能够从周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料,该材料将作为可被 hashcat 破解的 PCAP 文件收集在磁盘上。 简单来说,Pwnagotchi ...
    开源软件

    光速上手C++20协程

    今天来学习下怎么使用基于C++20设计开发的协程框架async_simple(https://github.com/alibaba/async_simple)。async_simple是阿里巴巴开源的轻量级C++异步框架。提供了基于C++20无栈协程(Lazy),有栈协程(Uthread)以及Future/Promise等异步组件。连续两年经历天猫双十一磨砺,承担了亿级别流量洪峰,具备高性能和高稳定性。