Назад | Перейти на главную страницу

Запуск службы Windows - разница между ручным и автоматическим запуском?

Начиная с Windows Server 2008 R2 (и, я думаю, Windows 7 для клиентской ОС) Microsoft представила trigger start за услуги. Я понимаю разницу между automatic, automatic (delayed) и manual типы запуска. Из того, что я прочитал в статьях в Google, я полагаю, что понимаю логику trigger start (хотя никогда этим не пользовался).

То, что я не совсем уверен, что понимаю, будет различие служб, настроенных на automatic (trigger start) и manual (trigger start) и мне не удалось найти этому объяснения.

Я как бы думаю, что в обоих случаях служба не работает, если триггер не запустит ее, так в чем будет разница на самом деле?

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

Подводя итог - мои вопросы:

  1. В чем разница между automatic (trigger start) и manual (trigger start) служба?
  2. Может ли это повлиять на службу / приложение (в целом), если служба будет переключена с automatic (trigger start) к manual (trigger start)?

Автоматические службы запускаются при загрузке ОС. Ручных услуг нет. Триггеры могут быть добавлены к службам, чтобы они запускались при каком-либо событии, таком как событие ETW, или подключенное USB-устройство, и т. Д. Триггеры могут быть добавлены либо к ручным, либо к автоматическим службам.

Пример триггера (ов) для автоматической службы (запуск триггера):

C:\Users\Ryan>sc qtriggerinfo dnscache
[SC] QueryServiceConfig2 SUCCESS

SERVICE_NAME: dnscache

        START SERVICE
          FIREWALL PORT EVENT          : b7569e07-8421-4ee0-ad10-86915afdad09 [PORT OPEN]
            DATA                       : 5355;UDP;

Пример триггера (триггеров) в сервисе вручную (запуск по триггеру):

C:\Users\Ryan>sc qtriggerinfo appinfo
[SC] QueryServiceConfig2 SUCCESS

SERVICE_NAME: appinfo

        START SERVICE
          NETWORK EVENT                : bc90d167-9470-4139-a9ba-be0bbbf5b74d [RPC INTERFACE EVENT]
            DATA                       : 201ef99a-7fa0-444c-9399-19ba84f12a1a
        START SERVICE
          NETWORK EVENT                : bc90d167-9470-4139-a9ba-be0bbbf5b74d [RPC INTERFACE EVENT]
            DATA                       : 5f54ce7d-5b79-4175-8584-cb65313a0e98
        START SERVICE
          NETWORK EVENT                : bc90d167-9470-4139-a9ba-be0bbbf5b74d [RPC INTERFACE EVENT]
            DATA                       : fd7a0523-dc70-43dd-9b2e-9c5ed48225b1
        START SERVICE
          NETWORK EVENT                : bc90d167-9470-4139-a9ba-be0bbbf5b74d [RPC INTERFACE EVENT]
            DATA                       : 58e604e8-9adb-4d2e-a464-3b0683fb1480

Для службы можно установить значение «Автоматически», чтобы она запускалась сразу после загрузки ОС, но она также может корректно останавливаться самостоятельно, когда службе больше нечего делать. После его остановки триггер может запустить его снова в любое время.

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