Сделайте сервисный монитор и перезапустите процесс - PullRequest
0 голосов
/ 23 марта 2010

Я делаю приложение, которое должно быть постоянно запущено. (24/7) Я не очень разбираюсь в услугах, но я прочитал в интернете, что услуги можно сделать неуязвимыми, установив для их свойства onclose значение false.

У меня есть служба, отслеживающая мое приложение, и служба не может быть закрыта непосредственно из окна служб диспетчера задач ... но, когда я нажимаю "перейти к процессу", диспетчер задач приводит меня к процессу, порожденному службой , Оттуда я могу закрыть процесс и немедленно закрыть сервис. Поскольку у меня нет большого опыта работы со службами, мне интересно, нормально ли это поведение? Если нет, то как сделать службу безостановочной?

1 Ответ

0 голосов
/ 23 марта 2010

Похоже, вам нужно что-то вроде Slife Teams , а затем использовать безопасность Windows, чтобы предотвратить их уничтожение клиентского приложения.

Редактировать Если вы используете Windows 7 или Windows Server 2008 R2, возможно, вы можете использовать AppLocker ?

Редактировать 2 Возвращаясь к ответу на первоначальный вопрос, можно было бы создать приложение для мониторинга, чтобы два запущенных процесса, оба из которых контролировали, знали друг о друге.

Запустите два процесса, каждый с открытым дескриптором другого процесса. Когда один процесс обнаруживается как уничтоженный, другой процесс немедленно перезапускает его, и наоборот.

Вам нужно будет обработать обычные сообщения о завершении работы системы.

Или ... прочитайте эту статью: Непобедимость процесса

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