2010-08-04 81 views
1

我正在尋找一種方法來檢查通過Java的Windows服務的狀態。從谷歌的一些基本搜索,這聽起來像Java沒有API查詢Windows服務。通過Java檢查窗口服務的狀態

在Windows命令提示符下運行:SC \ some_host_name查詢 「服務名」

讓我我想要的信息。現在我想能夠在Java程序中運行它並能夠解析輸出。

任何人都知道通過Java運行Windows命令的方法嗎?

回答

2

聽起來像你需要Java 5+ ProcessBuilder

一個簡單的例子(基於上述文檔)

要開始運行的進程:

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

Process類提供的方法來得到來自過程的output(和誤差)流 - 這是標準的流處理。

執行此操作之前的Java 5是Runtime.exec()。我自己實際上並沒有在Windows上使用ProcessBuilder,如果您有問題,請留下評論?