之前在putty之類的遠端命令列操作伺服器的時候,遇到關閉軟體,對應的操作就會關閉。很多時候,就是開著電腦,然後掛在那裡,雖然不用電腦跑,但是也耗電。。。主要是putty這些軟體有時候會伴隨黑屏崩掉。那天突然發現screen
這款linux的後台神器,網上的教程亂七八糟(比較高階的linux用法),這裡介紹常用的用法。
ctrl+a+d
。返回主線程。就是你想啟動乙個指令碼,然後screen -s scanner1
進入了scanner1裡面,啟動了程式。這時候,要回到原來的控制介面,需要快捷鍵。然後在原來的控制介面中又可以幹別的事情了。
語法screen [-amrvx -ls -wipe][-d 《作業名稱》][-h 《行數》][-r 《作業名稱》][-s ][-s 《作業名稱》]
引數說明
-a 將所有的視窗都調整為目前終端機的大小。
-d 《作業名稱》 將指定的screen作業離線。
-h 《行數》 指定視窗的緩衝區行數。
-m 即使目前已在作業中的screen作業,仍強制建立新的screen作業。
-r 《作業名稱》 恢復離線的screen作業。
-r 先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。
-s 指定建立新視窗時,所要執行的shell。
-s 《作業名稱》 指定screen作業的名稱。
-v 顯示版本資訊。
-x 恢復之前離線的screen作業。
-ls或--list 顯示目前所有的screen作業。
-wipe 檢查目前所有的screen作業,並刪除已經無法使用的screen作業。
常用screen引數
screen -s yourname -> 新建乙個叫yourname的session
screen -ls -> 列出當前所有的session
screen -r yourname -> 回到yourname這個session
screen -d yourname -> 遠端detach某個session
screen -d -r yourname -> 結束當前session並回到yourname這個session
在每個screen session 下,所有命令都以 ctrl+a(c-a) 開始。
c-a ? -> 顯示所有鍵繫結資訊
c-a c -> 建立乙個新的執行shell的視窗並切換到該視窗
c-a n -> next,切換到下乙個 window
c-a p -> previous,切換到前乙個 window
c-a 0..9 -> 切換到第 0..9 個 window
ctrl+a [space] -> 由視窗0循序切換到視窗9
c-a c-a -> 在兩個最近使用的 window 間切換
c-a x -> 鎖住當前的 window,需用使用者密碼解鎖
c-a d -> detach,暫時離開當前session,將目前的 screen session (可能含有多個 windows) 丟到後台執行,並會回到還沒進 screen 時的狀態,此時在 screen session 裡,每個 window 內執行的 process (無論是前台/後台)都在繼續執行,即使 logout 也不影響。
c-a z -> 把當前session放到後台執行,用 shell 的 fg 命令則可回去。
c-a w -> 顯示所有視窗列表
c-a t -> time,顯示當前時間,和系統的 load
c-a k -> kill window,強行關閉當前的 window
c-a [ -> 進入 copy mode,在 copy mode 下可以回滾、搜尋、複製就像用使用 vi 一樣
c-b backward,pageup
c-f forward,pagedown
h(大寫) high,將游標移至左上角
l low,將游標移至左下角
0 移到行首
$ 行末
w forward one word,以字為單位往前移
b backward one word,以字為單位往後移
space 第一次按為標記區起點,第二次按為終點
esc 結束 copy mode
c-a ] -> paste,把剛剛在 copy mode 選定的內容貼上 後台執行命令的工具screen
安裝screen工具 yum install screen 新建立乙個screen視窗,名稱是yourname。建議起名時候注意與其內部執行的任務的關聯性,以便以後能想起來幹了些什麼 screen s yourname 退出視窗 類似於最小化視窗 但不關閉視窗,如果每個視窗固定幹某項任務,當然要換到...
了解screen工具
1 可以保證任務不被中斷 2 當在前台執行某個作業時,終端被該作業佔據,可以在命令後面加 實現後台執行,例如sh test.sh 但是當退出賬戶時,作業就會停止執行,nohup命令就是可以在退出賬戶之後作業仍然在後台執行,nohup就是不掛起的意思,一般用為nolup command 3 scree...
Liunx後台多工管理工具 「Screen」
有時我們會使用 ssh 終端連線 linux 的雲伺服器,執行一些程式 但如果斷開當前的命令列視窗,某些程式 任務就會終止執行 為了讓程式 任務在我們斷開 ssh 連線時,繼續執行,這時我們就要用到 screen 命令了 沒有預設安裝的系統要先安裝,我的系統是ubuntu 16.04 apt get...