Linux下SSH遠程連接斷開後讓程序繼續運行解決辦法

碰到問題:

通過SSH遠程登錄到Linux系統,要在/home目錄下面利用java命令運行一個jar包的項目
關閉連接後項目也會停止運行,無法訪問項目,必須重新登錄到系統,再次手動執行命令,才能重新運行。

有沒有辦法在SSH遠程連接被斷開或者關閉的時候,系統裏面的java程序還能繼續運行?

答案:有辦法

解決辦法(1):(以CentOS系統爲例)

1、安裝screen命令

yum install screen #安裝

2、screen -S test #創建screen會話,自定義screen虛擬終端的名稱,test可以改爲你想要的名稱

3、進入/home目錄,執行java命令運行jar包(之前好像沒有沒有cd到home好像沒有效果)

cd /home

java -Djava.security.egd=file:/dev/./urandom -jar user-provider/users-provider-1.0.0.jar

4、測試

關閉SSH遠程連接窗口,然後測試是否能訪問項目,結果可以訪問。

screen -r test #查看之前的運行項目的會話虛擬終端

可以看到有一個會話還在繼續進行,目的達到!

解決方法(2):
使用nohup命令,比如上面運行jar包的命令爲:nohup java -Djava.security.egd=file:/dev/./urandom -jar user-provider/users-provider-1.0.0.jar&

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章