在 Fire and Forget 方式中在遠端電腦上執行 Java jar

在 Fire and Forget 方式中在遠端電腦上執行 Java jar

我想透過建立 SSH 連線在遠端電腦上執行我的 java jar。我可以執行 jar,但在按 之前我無法關閉 SSH 會話CTRLC

下面是我執行 jar 的批次檔。批次檔名為 Run_service.bat

@ECHO off java.exe -jar D:\NSXJarfiles\BulkSolve-0.0.1-SNAPSHOT.jar & exit

嘗試使用以下命令從 SSH 會話執行 jar

ssh -v -o StrictHostKeyChecking=no -l userid IP "D:/Scripts/Run_Service.bat"

所以我建立了 ssh 會話,並且能夠在會話中執行 jar 檔案。

該服務在連接埠上啟動。

但是一旦服務啟動,我必須關閉 ssh 會話,但直到我按 後它才會關閉CTRLC。下面是在 ssh 會話中啟動的相同服務的圖像。我嘗試了很多東西但沒有任何效果。請幫我找出一種方法來做到這一點。

在此輸入影像描述

答案1

試試這個 :

@ECHO off START /B javaw.exe -jar D:\NSXJarfiles\BulkSolve-0.0.1-SNAPSHOT.jar exit

答案2

天下沒有白吃的午餐;如果您想將應用程式作為服務運行,則必須將該應用程式安裝為服務。這樣,如果作業系統重新啟動,您的應用程式將在無需人工幹預的情況下恢復。它還允許您斷開與 SSH 伺服器的連接並讓進程繼續運行。 (你也可以嘗試cmd /c javaw.exe -jar D:\NSXJarfiles\BulkSolve-0.0.1-SNAPSHOT.jar,但如果進程終止,它就不會再回來)

對於 Spring Boot,請查看視窗服務參考文獻的部分,它指向您溫莎,和一個單獨維護的範例描述如何將它們整合在一起

相關內容