screen
是一個強大的終端多路複用器,允許你在一個SSH會話中執行多個終端任務,並且即使SSH連線中斷,這些任務也能繼續執行。 這對長時間執行的任務或訓練任務非常有用,如果在這樣的任務中SSH連結斷開,沒有screen
,你會丟失對任務的控制,而有了screen
,你可以在連結恢復後接著控制之前的任務。 下面是如何使用screen
來執行並管理你的任務:
- 建立一個新的
screen
會話:screen -S mysession
在這裡,-S
引數後面的mysession
是你給這個新會話起的名字,你可以用任何你喜歡的名字。 - 在這個會話中,你可以執行你的訓練程式碼,比如
python train.py
。這會跟你平時在終端中執行你的程式碼一樣。 - 如果你需要在任務執行的同時斷開SSH連線,你可以按下
Ctrl+A
,然後按下D
,這會斷開你的screen
會話,但你的任務會在後臺繼續執行。 - 你可以隨時重新連線到你的
screen
會話,在你的SSH會話中輸入:shell screen -r mysession
就可以回到名為mysession
的screen
會話。這裡的-r
代表re-attach
,意為重新連線。 - 如果你完成了你的任務,並且想要結束
screen
會話,你可以在screen
會話中輸入:shell exit
或者按下Ctrl+A
,然後按下K
,然後按Y
來確認。這會結束你的screen
會話。 這樣,即使SSH連線被斷開,你也可以確保你的訓練任務得以繼續,並在連線恢復後檢視任務的進度。
以下是基本的操作方法:
- 建立新的
screen
會話:
screen -S sessionname
這裡的 sessionname
是你對新會話的自定義名字。
- 斷開
screen
會話:
Ctrl+a, d
這將暫時使你與當前的 screen
會話斷開連線(不是關閉會話),並返回到 SSH 終端。
- 列出正在執行的
screen
會話:
screen -ls
這將列出當前所有的 screen
會話。
- 重新連線到斷開的
screen
會話:
screen -r sessionname
這裡的 sessionname
是你之前建立時為 screen
會話設定的名字。
- 在
screen
會話中切換到下一個視窗:
Ctrl+a, n
如果你在一個 screen
會話中開啟了多個視窗,你可以用這個快捷鍵在它們之間切換。
- 在
screen
會話中切換到上一個視窗:
Ctrl+a, p
這是向後切換視窗的快捷鍵。
- 建立新的視窗:
Ctrl+a, c
你可以在一個 screen
會話中開啟很多視窗。
8. 終止 screen
會話:
首先退出所有的 shell,然後 `screen` 會話就會自動結束。你也可以在會話中直接執行 `exit` 命令或按下 `Ctrl+d` 來結束 `screen` 會話。