Как сказать, используя Perl, если служба Windows остановлена, но все еще работает - PullRequest
0 голосов
/ 19 августа 2010

У меня есть проблема, которая, вероятно, не уникальна, но определенно не представляется широко распространенной.

Мне нужен метод для проверки службы Windows, которая сообщит мне, если она остановилась, даже еслиWindows сообщает, что она работает.

Я бы предпочел использовать решение на Perl, но приму любое решение, которое кто-то может придумать.

Спасибо, Джереми

Ответы [ 2 ]

1 голос
/ 19 августа 2010

С каким сервисом вы имеете дело?Я не думаю, что есть какое-либо общее решение вашего вопроса, если панель управления службами не указывает на проблему.Чтобы обнаружить работающий, но уже не функционирующий должным образом процесс, вы должны знать, как выглядит «правильно функционирующий».

0 голосов
/ 20 августа 2010

Вы можете использовать модуль Win32 :: Service

use Win32::Service;
GetStatus(hostName, serviceName, status);

С http://metacpan.org/pod/Win32::Service: Получить статус услуги. Третий аргумент должен быть ссылкой на хеш, которая будет заполнена записями, соответствующими структуре SERVICE_STATUS API Win32. См. Документацию Win32 Platform SDK для деталей этой структуры. Вы даже можете получить сервис с помощью GetServices (hostName, hashref).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...