開源軟體

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 […]