Java 如何使用检查正在运行的特定windows服务
我需要检查给定的windows服务是否显示“XYZ服务”运行正常 我知道我们可以发出“sc query”命令并检查其状态,windows命令提示符 但是我不知道用java怎么做 我在应用程序中使用JDK1.6 感谢您的帮助。这对我很有用:Java 如何使用检查正在运行的特定windows服务,java,Java,我需要检查给定的windows服务是否显示“XYZ服务”运行正常 我知道我们可以发出“sc query”命令并检查其状态,windows命令提示符 但是我不知道用java怎么做 我在应用程序中使用JDK1.6 感谢您的帮助。这对我很有用: public boolean isProcessRunning(final String processName) throws Exception{ final Process process = Runtime.getRuntime().exec(
public boolean isProcessRunning(final String processName) throws Exception{
final Process process = Runtime.getRuntime().exec("tasklist");
final Scanner reader = new Scanner(process.getInputStream(), "UTF-8");
while(reader.hasNextLine())
if(reader.nextLine().startsWith(processName))
return true;
return false;
}
注意:使用上述方法,您必须输入确切的进程名称(区分大小写)。
下面是该表的外观:
下面是验证服务的正确代码
Process process = Runtime.getRuntime().exec("sc query "+nameOfService);
Scanner reader = new Scanner(process.getInputStream(), "UTF-8");
while(reader.hasNextLine())
if(reader.nextLine().contains(serviceNAME))
return true;
return false;
优秀@Josh M,这意味着如果服务未运行,它将不会显示,任务列表将仅显示正在运行?@mahesh正确:)任务列表仅显示活动服务和进程。测试后,它仅搜索当前正在运行的windows进程,而不是服务!