【问题标题】:JBoss EAP 6.2 running as Window Service with prunsrv - Can't stop serviceJBoss EAP 6.2 作为带有 prunsrv 的窗口服务运行 - 无法停止服务
【发布时间】:2015-09-17 18:26:58
【问题描述】:

我正在尝试让 JBoss EAP 6.2 作为 Windows Server(64 位)上的窗口服务运行。我用 prunsrv 定义的服务如下:

prunsrv install "JBoss EAP" --DisplayName="JBoss EAP" --LogLevel=DEBUG --LogPath=d:\Java\jboss-eap-6.2\domain\log\ --LogPrefix=service --StdOutput=auto --StdError=auto --StopTimeout=10 --StartMode=exe --StartImage=cmd.exe --StartPath=d:\Java\jboss-eap-6.2\bin ++StartParams="/c;domain.bat" --StopMode=exe --StopImage=cmd.exe --StopPath=d:\Java\jboss-eap-6.2\bin ++StopParams="/c;jboss-cli.bat;--controller=192.168.50.3:8888;--connect;command=/host=master:shutdown"

我更改了服务的登录用户,使其在属于管理员组的帐户下运行。

我可以正常启动服务,但无法正常停止。 “正确”是指当我停止服务时,我会看到“服务控制”对话框,上面写着:

“Windows 正在尝试停止本地计算机上的以下服务”

查看 JBoss 日志文件,我可以看到 JBoss 正确关闭,并且使用任务管理器我可以看到所有 Java.exe 进程都消失了。但是,服务控制对话框不会“正常”关闭。它最终超时,我得到另一个对话框,显示“错误 1053:服务没有及时响应启动或控制请求”,并且任务管理器显示 prusrv.exe 仍在运行。然后服务挂起在“停止”状态,我必须使用 TaskKill 来终止任务并将服务重置为可以重新启动它的状态。

当我查看 service.*.log 文件时,我看到以下内容:

[2015-09-11 11:42:55] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 4, 0, 0, 0
[2015-09-11 11:42:57] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 4, 0, 0, 0
[2015-09-11 11:42:57] [debug] ( prunsrv.c:844 ) [25200] reportServiceStatusE: 3, 0, 3000, 0
[2015-09-11 11:42:57] [info]  ( prunsrv.c:943 ) [10984] Stopping service...
[2015-09-11 11:42:57] [debug] ( prunsrv.c:1057) [10984] Waiting for stop worker to finish...

我已经尝试了几天来找出问题所在,但我碰壁了,我没有想法。到目前为止,LogLevel=DEBUG 还没有解决这个问题,所以我正在寻找可以帮助我调试的想法。谁能给我一个建议?

谢谢

【问题讨论】:

    标签: jboss jboss7.x jboss-eap-6 procrun


    【解决方案1】:

    事实证明,问题出在我使用的启动命令上。启动命令的前面需要一个“set NOPAUSE=Y”。例如

    ++StartParams="/c;set;NOPAUSE=Y;&&;domain.bat"
    

    一旦我添加了它,它就成功了。

    【讨论】:

      猜你喜欢
      • 2018-05-11
      • 2014-09-08
      • 2021-05-23
      • 2015-05-14
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      相关资源
      最近更新 更多