Я ищу библиотеку, которая позволит мне посмотреть статус службы Windows, чтобы убедиться, что служба запущена и работает. Я заглянул в библиотеку Sigar, но это GPL, и поэтому я не могу ее использовать. Требуется коммерческая лицензия или лицензия BSD (ish), поскольку она будет включена в коммерческое программное обеспечение.




Я не знаю ни одной библиотеки, но в зависимости от того, насколько подробно вам нужно получить, вы можете обойтись некоторыми командами оболочки и анализом вывода.
ЧИСТЫЙ СТАРТ наименование услуги
либо запустит службу, либо вернет вам сообщение об ошибке, в котором сообщается, что она уже запущена. Я не знаю ни одной команды, которая просто сообщила бы вам статус.
Я не думаю, что существует какой-либо способ сделать это на чистом Java, потому что в некоторых операционных системах нет понятия «службы», как в Windows. В наших проектах мы написали оболочку для вызовов команды «sc» из командной строки. Чтобы получить статус услуги, вы можете:
sc \some-computer query "my service name"
Вам придется вручную проанализировать вывод, но это довольно просто.
Если ничего не помогает, попробуйте придумать немного другой подход (если, конечно, можете), например:
хороший простой способ сделать это на Java