На каком сервисе я должен сделать мой иждивенцем?

Я хочу добавить зависимость к своему сервису так, чтобы он только попытался запуститься после того, как большинство служб Windows запустилось. Может любой рекомендовать такой сервис, который вряд ли будет отключен из соображений безопасности на корпоративных сайтах. Поскольку для моего сервиса нужны сетевые услуги и выполнение, я хочу удостовериться, что шахта запускается после них. Этот сервис может также быть развернут в некорпоративных средах, таким образом, я ищу подходящий сервис, который вряд ли будет отключен конечным пользователем.

1
задан 18.06.2010, 04:15

3 ответа

Используйте Windows Task Scheduler для запущения приложения. Не добавляйте зависимость к нему. Это имело бы смысл, если бы приложение действительно имело такую зависимость. Но так как это не формальная зависимость, это не корректная вещь сделать.

Кроме того, Вы не можете гарантировать сервисный порядок выполнения окон. Только те, у кого есть самостоятельно правила зависимости, как гарантируют, будут работать на определенном порядке. Все другие не. Что означает в ходе нескольких перезагрузок, последний сервис окон, который будет выполняться, может варьироваться.

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

10 или 20 секунд достаточно, чтобы гарантировать, что задача выполняется в последний раз или близко к последнему, устанавливая его для выполнения только после того, как пользователь входит в систему.


Можно однако искать журналы Event Viewer, поскольку основание для планировщика задач управляет. "Только бежавший этот уволенный Event".

2
ответ дан 12.12.2019, 10:48
  • 1
    Планировщик задач является куском дерьма. Я не зависел бы от него ни для чего. Вы намного лучше из просто помещения его в объектах запуска или некотором другом взломе, чем в зависимости от планировщика задач. – Satanicpuppy 06.11.2009, 18:01

Вы говорите, что для Вашего сервиса "нужны сетевые службы и выполнение". Но он действительно? Этому просто нужны различные связанные с IP сервисы, чтобы работать, даже если у них нет ссылки или допустимого IP-адреса?

Или Ваш сервис на самом деле ожидает мочь немедленно соединиться с внешним сервисным правом, когда он запустит? И если так, что происходит, если тот внешний сервис снижается? Что происходит, если там проблемы сетевого соединения где-нибудь приезжают маршрут? Это сдается и отказывает или останавливается?

По моему опыту, большую часть времени то, когда люди пишут сервисы и пытаются сделать их зависящими от других встроенных сервисов, что они действительно делают, старается не иметь необходимость написать надлежащий код обработки ошибок. Я не знаю то, что на самом деле делает Ваш сервис, таким образом, я не могу дать совет о том, как обработать множество способов, которыми не работало бы сетевое соединение даже при том, что локальные службы в порядке. Но необходимо действительно думать о том, почему Вы думаете, что для Вашего сервиса нужна эта зависимость. Нет ли лучший способ записать это так, чтобы можно было корректно обработать условие, где сеть не доступна?

1
ответ дан 12.12.2019, 10:48

Я предложил бы сервис Windows Update. Это очень вряд ли будет отключено.

На Vista и Windows 7 это даже определяется как "Автоматическое (Отложенный, Запускаются)", таким образом, это запустится после всех других служб.

0
ответ дан 12.12.2019, 10:48

Теги

Похожие вопросы