1

我有一个需要作为 Windows 服务运行的 Java 应用程序。为此,我创建了一个 nssm 安装文件并使用它运行 java 应用程序。在 Windows 7 中一切都很好,但是在 Windows 01 中运行该服务时,我们遇到了错误。

Windows 1 中引发的错误是:

  • 附加到服务 XXX 的控制台时出错,AttachConsole() - 失败:访问被拒绝。
  • 无法使用 PID Xfoe 服务 XXX 终止进程:访问被拒绝。
  • 终止服务XXX时无法打开PID X进程的进程句柄:参数不正确。

我们正在使用 nssm 2.24-101(预发行版)。

安装脚本如下所示:

@echo off

set SERVICE=XXX
set SERVICEDESCRIPTION=XXXX
set INSTALLATIONPATH=C:\Services\XXX
set JAVAPARAMETERS=-jar XXX.jar
set NSSM=%INSTALLATIONPATH%\nssm\nssm.exe
set JAVAPATH=%INSTALLATIONPATH%\jre


call:registerservice
call:startservice
goto end

:registerservice
echo Registering service %SERVICE%
"%NSSM%" install %SERVICE% "%JAVAPATH%"
"%NSSM%" set %SERVICE% Application "%JAVAPATH%\bin\java.exe"
"%NSSM%" set %SERVICE% AppDirectory "%INSTALLATIONPATH%"
"%NSSM%" set %SERVICE% AppParameters %JAVAPARAMETERS%
"%NSSM%" set %SERVICE% DisplayName %SERVICE%
"%NSSM%" set %SERVICE% Description %SERVICEDESCRIPTION%
"%NSSM%" set %SERVICE% Start SERVICE_AUTO_START
goto:eof



:startservice
echo Starting %SERVICE%
"%NSSM%" start %SERVICE%
if ERRORLEVEL 1 sc start %SERVICE%
goto:eof

有人可以帮我解决这个问题吗?

4

1 回答 1

0

没有找到任何解决方案。我从我的应用程序中删除了 nssm 并将其替换为 Apache Commons Daemon。

于 2018-03-08T14:44:56.107 回答