从java启动Windows服务

use*_*662 22 java windows-services

我们如何从Java启动/停止Windows服务?例如,我想从Java启动和停止mysql Windows服务.

如果可以启动/停止,那么是否可以知道服务是否成功启动?

pav*_*van 22

您可以使用字符串数组来制定命令提示符脚本以启动,停止和检查服务的状态:

// start service
String[] script = {"cmd.exe", "/c", "sc", "start", SERVICE_NAME};

// stop service
String[] script = {"cmd.exe", "/c", "sc", "stop", SERVICE_NAME};

// check whether service is running or not
String[] script = {"cmd.exe", "/c", "sc", "query", APP_SERVICE_NAME, "|", "find", "/C", "\"RUNNING\""};
Run Code Online (Sandbox Code Playgroud)

使用以下命令执行脚本:

Process process = Runtime.getRuntime().exec(script);
Run Code Online (Sandbox Code Playgroud)

  • 如果我尝试在没有管理员权限的情况下启动/停止服务,则会拒绝访问.任何想法如何在JAVA中使用管理员访问权限执行此操作? (3认同)