【问题标题】:How to stop a running tomcat with a java program? [duplicate]如何使用 java 程序停止正在运行的 tomcat? [复制]
【发布时间】:2013-03-27 22:26:34
【问题描述】:

我正在编写一个更新程序,它需要停止正在运行的 tomcat。我尝试从 java 调用 net stop SERVICENAME 但它不起作用。它返回错误代码 2 并中止,我猜这是出于安全原因。有人知道我该如何解决这个问题。我可以定义java程序以管理员身份运行并因此具有必要的权限,还是有其他方法?

这是我的代码:

String command = "cmd.exe /C net stop myservice";
Process p;
p = Runtime.getRuntime().exec(command);
p.waitFor();
log.info("exit value  was "    +p.exitValue());

【问题讨论】:

  • 使用命令startup.bat
  • 我用shutown.bat尝试过,但我收到以下错误:[27 Mrz 23:33:51:626] [INFO][CATALINA_HOME 环境变量定义不正确] [27 Mrz 23:33:56:236] [INFO][运行这个程序需要这个环境变量

标签: java


【解决方案1】:

使用 SC(服务控制)命令,它为您提供了比启动和停止更多的选项。 您甚至可以在远程机器上启动/停止服务。

用法: sc server [命令] [服务名称]

【讨论】:

  • 我尝试调用 sc stop myservice 但结果代码为 5 并且服务器没有停止
  • 对不起,我忘记了 。我已经更新了答案。
猜你喜欢
  • 2018-12-26
  • 1970-01-01
  • 2013-06-23
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多