開源軟體

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 專門干這個事兒的,更強大。

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用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等非同步組件。連續兩年經歷天貓雙十一磨礪,承擔了億級別流量洪峰,具備高性能和高穩定性。