通过Java检查窗口服务的状态

时间:2010-08-04 18:34:57

标签: java windows-services

我正在寻找一种通过Java检查Windows服务状态的方法。从谷歌的一些基本搜索到这里,听起来Java没有api来查询Windows服务。

在Windows命令提示符下运行:sc \ some_host_name查询“serviceName”

获取我想要的信息。现在我希望能够在Java程序中运行它并能够解析输出。

任何人都知道通过Java运行Windows命令的方法吗?

1 个答案:

答案 0 :(得分:2)

听起来你需要Java 5+ ProcessBuilder

一个简单的例子(基于上述文档)

开始运行流程:

Process p = new ProcessBuilder("sc", "\\some_host_name", "query", "serviceName").start();

Process类提供了从进程中获取output(和错误)流的方法 - 它是从那里开始的标准流处理。

Java 5之前的方法是Runtime.exec()。我自己没有在Windows上使用过ProcessBuilder,如果遇到问题就放弃评论?