Linux 使用 screen 命令

使用 Linux 的 screen 命令

在 SSH 遠程主機上執行需要漫長等待的任務時, 如果網絡突然終止了, 那麼SSH 會話會結束, 任務也會被中斷, 而 screen 命令可以解決這個問題

簡介

screen 可以新建 screen 會話, 在這個會話中可以打開終端, 即使斷開連接, 終端中的任務還會在後臺運行

安裝 Linux GNU Screen

很多 Linux 發行版會預安裝 screen, 可以檢查其版本

$ screen -version

輸出:

Screen version 4.06.02 (GNU) 23-Oct-17

基於 Ubuntu and Debian

$ sudo apt install screen

基於 CentOS and Fedora

$ sudo yum install screen

開始使用 Linux Screen

新建 screen 會話

$ screen

可以指定名稱

$ screen -S session_name

這將會打開一個 screen 會話, 一個新的 shell

分離 Screen 會話

新建名爲 sleep 的會話

screen -S sleep

在新建的會話中執行命令, 睡眠 5 分鐘, 模擬需要長時間等待的任務

sleep 300

組合鍵 Ctrl+A+D 讓命令在後臺運行並退出 Screen 會話

輸出

[detached from 12728.sleep]

列舉 Screen 會話

分離後, 在主會話中使用

screen -ls

輸出

There is a screen on:
        12728.sleep     (05/03/2020 05:36:14 PM)        (Detached)
1 Socket in /run/screen/S-jianghuixin.

回到 Screen 會話

使用名稱

screen -r sleep

使用進程號

screen -r 12728

結束 Screen 會話

回到 Screen 會話後, Ctrl+C 中斷正在運行的任務, 然後 exit 或 Ctrl+D

輸出

[screen is terminating]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章