我在寻找一个图书馆,让我看起来状态的windows服务的验证服务是启动和运行。我看到Sigar图书馆,但是它是GPL,并为此我不能使用它。商业或BSD(ish)都需要许可证,因为这会被捆绑为商业软件。

有帮助吗?

解决方案

如果没有别的帮助,试想想,一个稍微不同的方法(如果可以,当然),例如:

  • 有大量的免费/非免费软件,并监测,包括Windows服务的监测(例如它的监控频度,监控工具数据库,网站等等)。这些监测人员通常已经打开API你Java应用程序可以纳入一些不同的方式。
  • 如果你有的控制取决于服务应用程序,让另一个,以不同的方式对Java应用程序,以检查(例如运行一个虚拟的听众在一个港口,创建一个文件等等)。Windows服务不是一个交叉平台的东西因此不是你所期望的支持。

其他提示

我认为没有任何纯Java方法可以做到这一点,因为有些操作系统没有“服务”的概念。像Windows一样。在我们的项目中,我们编写了一个围绕调用“sc”的包装器。命令行中的命令。要获取服务的状态,您可以执行以下操作:

  

sc \\ some-computer query" my service name"

您必须手动解析输出,但这非常简单。

我不知道任何库,但根据您需要获得的详细程度,您可能会使用一些shell命令并解析输出。

NET START servicename

将启动该服务,或者返回一条错误消息,告知您已经启动该服务。我不知道任何只会给你状态的命令。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top