在ssh遠端連接配接伺服器時,有些程式執行時間較長,例如深度學習中訓練一個神經網絡需要十幾到幾十甚至更多的時間。如果斷開連接配接,會導緻程式終止運作,為了讓伺服器的程式能夠保持運作而不受連接配接狀态影響,可以采用screen的方式。
screen用法功能豐富,本文僅介紹最基礎易懂的用法。
1.建立一個screen
// 建立名為name的screen,name可以自己修改
screen -S name
2.運作自己的程式,如train.py
3.當程式開始運作後,按下ctrl+a+d三個鍵,螢幕上出現類似這樣的句子即為成功:
[detached from 23197.name]
成功後,伺服器的程式可以保持運作,不受連接配接狀态影響,本地電腦可以斷開連接配接、網絡或是關機都沒問題,當然繼續保持連接配接更沒問題。
4.恢複一個screen,當想檢視程式的運作狀況時,連接配接到伺服器,并輸入
// 回到名name的screen,name可以自己修改
screen -r name
此時就可以看到程式的運作情況,若沒有運作結束,則使用第三點繼續挂起保持運作,然後使用第四點再次檢視,以此往複,直至結束或運作新的程式。
注意:一定要先建立screen再運作程式,順序不可反。