linux後臺執行命令screen的使用

語言: CN / TW / HK

持續創作,加速成長!這是我參與「掘金日新計劃 · 10 月更文挑戰」的第2天,點選檢視活動詳情

在我們通過終端或ssh連線伺服器使用時候,有時候一個訓練程式可能需要訓練幾天才能完成,但是我們的終端可能會在幾個小時後自動斷開,就會導致訓練程式終止,解決方法就是使用screen工具

先介紹screen的簡單功能使用

先介紹screen的簡單功能使用,可以滿足日常需求,就三個命令:

1、建立一個screen會話視窗

screen -S sessionWinName

eg:

screen -S testTime

然後就可以在該視窗下執行程式,如程式:

python test_cycle_time.py

在這裡插入圖片描述

然後把該視窗叉掉,此時程式並不會停止執行

2、檢視我們用screen建立的會話

screen -ls

此時就可以檢視到上面我們建立的會話視窗testTime

3、恢復會話視窗,就是繼續檢視我們後臺執行的程式

screen -r testTime

或:

screen -r 10525

screen -r -S testScreen

常見問題:

1、session會話視窗顯示為Attached狀態,恢復會話進時進不去,這是因為已經有一個使用者登入了這個會話,所以需要先:踢掉前一使用者,再登陸。參考

screen -D -r <session-id>

  • 1)在Attached狀態下,按Ctrl+D 或輸入exit,都會直接刪除建立的會話,不能在啟用!

  • 2)在Attached狀態下,直接叉掉終端,此時會話狀態變成Detacted,表示掛起虛擬終端,如果此時有執行的程式也就變成在後端運行了,可以通過screen -r ID/session_name 重新開啟會話!

  • 3)在Attached狀態下,按Ctral+a,再按d,此時會退出並掛起虛擬終端(儲存會話,後臺執行該虛擬終端),此時會話狀態變成Detacted

  • 4)在Attached狀態下,按Ctral+a,再按k(kill),此時會關閉對話,等同輸入:exit
  • 5)在Attached狀態下,按Ctral+a,再按c(create):新建一個虛擬終端
  • 6)在Attached狀態下,按Ctral+a,再按顯示所有繫結鍵盤

在進入會話時,按Ctrl+D輸入exit 回車就會退出,並刪除會話,此時使用screen -ls就看不到該會話了!

參考:https://cloud.tencent.com/developer/article/1844735 參考:https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html