碰到問題:
通過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&