我正在寻找一种通过Java检查Windows服务状态的方法。从谷歌的一些基本搜索到这里,听起来Java没有api来查询Windows服务。
在Windows命令提示符下运行:sc \ some_host_name查询“serviceName”
获取我想要的信息。现在我希望能够在Java程序中运行它并能够解析输出。
任何人都知道通过Java运行Windows命令的方法吗?
答案 0 :(得分:2)
听起来你需要Java 5+ ProcessBuilder。
一个简单的例子(基于上述文档)
开始运行流程:
Process p = new ProcessBuilder("sc", "\\some_host_name", "query", "serviceName").start();
Process类提供了从进程中获取output(和错误)流的方法 - 它是从那里开始的标准流处理。
Java 5之前的方法是Runtime.exec()。我自己没有在Windows上使用过ProcessBuilder,如果遇到问题就放弃评论?