我們是通過SSH去連接linux服務器的,當我們退出或者端口SSH連接的話,當前正在執行的腳本文件也會被停止,因為linux服務器會在你退出SSH連接后,默認關閉進程,而不會hang up進程,所以不想一直保持SSH連接,又想一直保持服務器程序運行的解決辦法如下:
(這里以阿里雲的CentOS系統為例)
1、安裝screen命令
sudo apt-get install screen
2、創建screen會話,自定義screen虛擬終端的名稱,hass 可以改為你想要的名稱
screen -S hass
3運行你需要一直在后台運行的程序
hass # 這里打開hass程序
4 退出遠程登陸,hass程序仍在運行,可以正常訪問使用
5 重新遠程登陸,查看當前開着的screen會話
screen -ls

發現兩個會話
查看子界面的代號,然后輸 入
#screen -r 27701
進去后是空的,因為我沒有運行任何程序
#screen -r 27479
顯示出我正在運行的hass程序
6如何讓關閉和更多用法
進入27701會話
screen -r 27701
關閉它
exit
之后再次查看
screen -ls
發現關閉了。

screen用法:
- 打開新的會話窗口:screen
- 結束當前會話:exit
- 在新會話中執行程序(程序關閉時會話自動結束):screen vi test.c
- 打開新會話並起個名字:screen -S myname
- 暫時離開會話(經常用):Ctrl+a 然后 d
- 查看會話列表: screen -ls
- 恢復之前離開的會話:screen -r 會話名或進程號
- 清除dead狀態的會話:screen -wipe
- 啟動一個開始就是Detached狀態的會話:screen -dmS 名字 命令
