如何在關閉ssh連接的情況下,讓程序繼續運行?


我們是通過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 名字 命令

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM