以即发即弃的方式在远程机器上运行 Java jar

以即发即弃的方式在远程机器上运行 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,请查看Windows 服务参考部分,它指向你温斯威,以及单独维护的示例描述如何将一切整合在一起

相关内容