ubuntu Django專案後臺不掛斷執行之screen命令
1、安裝screen
apt install screen
2、新建一個screen
screen -S web
這樣就會新開一個視窗。cd到你需要的目錄然後輸入你想輸入的命令。輸入:
python manage.py runserver 0.0.0.0:80
3、重新開一個視窗,列出所有screen程序
screen -ls
4、如果之前的screen視窗已經關閉,顯示為Detached的是可以恢復的對話,attached是已經連線的會話
則恢復或者連結此視窗的命令為:
screen -r 17396 #pid #或者 screen -r web #恢復叫做web 的會話
5、徹底退出
screen -X -S web quit #web為建立的screen名稱
或者在screen當前視窗:
正常情況下,當你退出一個視窗中最後一個程式(通常是bash)後,這個視窗就關閉了。另一個關閉視窗的方法是使用Ctrl-a k,這個快捷鍵殺死當前的視窗,同時也將殺死這個視窗中正在執行的程序。
如果一個Screen會話中最後一個視窗被關閉了,那麼整個Screen會話也就退出了,screen程序會被終止。
除了依次退出/殺死當前Screen會話中所有視窗這種方法之外,還可以使用快捷鍵C-a :,然後輸入quit命令退出Screen會話。需要注意的是,這樣退出會殺死所有視窗並退出其中執行的所有程式。(試過這個命令,但未成功)
6、那如果我們不想關閉xshell,就想把它掛在後臺,然後我們做別的事情呢?來,滿足你。按下ctrl+a 然後輸入d,這樣子就可以了。同樣的,恢復也是用上面的方法。
先按CTRL+a,然後再按d。這個就是dettach的意思啦,離開screen的session。
或者使用
screen -d web
#或者
screen -d 17396
7、清除dead 會話
如果由於某種原因其中一個會話死掉了(例如人為殺掉該會話),這時screen -list會顯示該會話為dead狀態。使用screen -wipe命令清除該會話
8、結束! 操作和上面的操作一模一樣
#screen -S a ----建立一個叫“a”的程序(注意空格screen和-S和a之間都有空格)
#crtl+a+d ----儲存程序
#screen -r a ----進入剛才建立的“a”程序
#exit ----退出程序
#screen -ls ----檢視當前所有的screen程序