我正在寻找一个允许我查找Windows服务状态的库,以验证服务是否已启动并正在运行。我查看了Sigar库,但它是GPL,因此我无法使用它。需要商业或BSD(ish)许可证,因为它将捆绑到商业软件中。
答案 0 :(得分:4)
如果没有其他帮助,请尝试考虑一种稍微不同的方法(当然,如果可以的话),例如:
答案 1 :(得分:3)
我认为没有任何纯Java方法可以做到这一点,因为有些操作系统没有像Windows那样的“服务”概念。在我们的项目中,我们编写了一个包装器,用于从命令行调用“sc”命令。要获取服务的状态,您可以执行以下操作:
sc \\ some-computer query“我的服务名称”
您必须手动解析输出,但这非常简单。
答案 2 :(得分:0)
我不知道任何库,但根据您需要获得的详细程度,您可能会使用一些shell命令并解析输出。
NET START servicename
将启动该服务,或者返回一条错误消息,告知您已经启动该服务。我不知道任何只会给你状态的命令。