Сбой Commons Daemon с кодом выхода 5 - ошибки «apxServiceControl ()» - PullRequest
0 голосов
/ 14 января 2019

Я использую Apache Commons Procrun (prunsrv.exe, переименованный в testService.exe) для установки .jar в качестве службы Windows. Служба успешно устанавливается и отображается в диспетчере служб Windows.

Когда я пытаюсь запустить службу, происходит сбой. Вот журнал commons-daemon со связанными ошибками:

[2019-01-14 09:52:52] [info]  [12988] Commons Daemon procrun (1.1.0.0 64-bit) started
[2019-01-14 09:52:52] [info]  [12988] Starting service 'testService' ...
[2019-01-14 09:52:52] [warn]  [12988] Failed to obtain service description
[2019-01-14 09:52:56] [error] [12988] apxServiceControl(): dwState(4) != dwCurrentState(1); dwWin32ExitCode = 1066, dwWaitHint = 0, dwServiceSpecificExitCode = 1
[2019-01-14 09:52:56] [error] [12988] apxServiceControl(): returning FALSE
[2019-01-14 09:52:56] [error] [12988] Failed to start service 'testService'
[2019-01-14 09:52:56] [info]  [12988] Start service finished, returning 0
[2019-01-14 09:52:56] [error] [12988] Commons Daemon procrun failed with exit value: 5 (Failed to start service)

Вот скрипт, который я написал для установки / запуска сервиса:

@echo off

SET SERVICE_NAME=testService

IF "%1%" == "start"     GOTO START
IF "%1%" == "stop"      GOTO STOP
IF "%1%" == "delete"    GOTO DELETE
IF "%1%" NEQ "install"  GOTO:EOF

SET PR_INSTALL="%~dp0testService.exe"

SET PR_CLASSPATH=testService.jar

SET PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll

SET PR_STARTUP=auto
SET PR_STARTMODE=jvm
SET PR_STARTCLASS=com.testService
SET PR_STARTPARAM=start

SET PR_STOPMODE=jvm
SET PR_STOPCLASS=com.testService
SET PR_STOPPARAM=stop

%SERVICE_NAME%.exe install %SERVICE_NAME%
GOTO:EOF

:START

%SERVICE_NAME%.exe start %SERVICE_NAME%
GOTO:EOF

:STOP

%SERVICE_NAME%.exe stop %SERVICE_NAME%
GOTO:EOF

:DELETE

%SERVICE_NAME%.exe delete %SERVICE_NAME%

Есть идеи, что может означать эта ошибка? Кажется, я не могу найти никакой информации об этом, и это сводит меня с ума.

1 Ответ

0 голосов
/ 14 января 2019

Проблема была с %SERVICE_NAME%.exe install %SERVICE_NAME% звонками

Я заменил их на testService.exe install %SERVICE_NAME%, и служба запускается, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...