遠端連接配接伺服器時,如果連接配接中斷,則跑的代碼,傳輸的資料就廢了。幸運的是,screen 這款工具能很好的解決這個問題。重新連上伺服器後,在 screen 中執行的任務可以接着執行。下面就介紹一些主要、簡單的用法。
-
一個 linux 使用者通過 screen 可以建立多個 session,一個 session 裡又可以建立多個 window。session 和 window 構成一個樹結構。
注釋:c+a 代表 Ctrl + a,其他類似;
- session 的建立:screen
- session 的殺死(session 的殺死意味着徹底終結程式及其他操作):exit (要殺死該 session 就要先進入該 session,若就在該 session 下則直接 exit,若不在則先 c+a 後 d 回到根,然後 screen -ls 檢視要殺死的 session,再 screen -r pid 進入該 session,最後 exit)
- session 的重命名:c+a 後 A
- session 的背景化(detached狀态)(即回到根目錄):c+a 後 d
- 檢視開了哪些 session 及其狀态:screen -ls ( attached 表示目前界面活躍,detached 在背景運作)
-
session 的進入:當 session 是 detached 狀态時用 screen -r pid 可以進入;
當和伺服器連接配接斷掉了再連上後,session 是在 attached 狀态,這時要先用 screen -d pid 将它轉為 detached 狀态後,再用 screen -r pid 才能進入;
- window 的建立:在 screen 中 c+a 後 c
- window 的殺死:在 screen 中 c+a 後 K , y
- 同一 session 的 window 間的切換:下一個/前一個視窗:c+a 後 n/p
- 同一 session 下有哪些 window:c+a 後 w,* 代表目前視窗
- window 下可複制模式:c+a 後 [ 進入該模式;類似 vim,c+b 上翻,c+f 下翻,esc 退出可複制模式