linux常用命令screen

screen的作用自行百度,使用這個原因是有時候需要在服務器後臺長時間運行一個程序,比如跑訓練代碼,每次ssh斷開的時候發現掛在服務器跑的程序也自動停止了,所以需要一個能夠實現斷開ssh後程序可以在後臺運行並且隨時能夠重新加載原場景的工具,也就是screen。

安裝screen

linux: sudo apt-get install screen
cent-os: yum install screen
安裝完可以 用 screen --version看下當前版本

如何在screen中把程序掛在後臺運行

首先命一個別名,方便以後查找

screen -S session_name

然後 do what u want
最後,按ctrl+a d 將程序掛後臺運行,使得這個session detached

如何從後臺恢復一個screen session

首先,用 screen -ls列出所有的screen session

[user@dcos2 AlphaZero_Gomoku-master_1017]$ screen -ls
There are screens on:
	13280.1017_train	(Detached)
	8319.pts-4.dcos2	(Attached)
	1422.pts-0.dcos2	(Detached)
3 Sockets in /var/run/screen/S-user.

找到session對應的id,執行screen -r 13280,即可重新連接回話。如果需要重新掛起,按c+a d即可

刪除一個screen session

screen -X -S 122128 quit

常用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高級應用

待續

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