Inicio del disparador del servicio de Windows: ¿diferencia manual o automática?

22

Desde Windows Server 2008 R2 (y Windows 7, creo que para el sistema operativo del cliente), Microsoft ha introducido los trigger startservicios. Entiendo la diferencia entre automatic, automatic (delayed)y los manualtipos de inicio. Por lo que leí en los artículos en Google, creo que entiendo la lógica de trigger start(aunque nunca lo usé).

Lo que no estoy seguro de entender sería la diferencia de los servicios que están configurados para automatic (trigger start)y manual (trigger start)y no tuve la suerte de encontrar una explicación para esto.

Estoy pensando que en ambos casos el servicio no se está ejecutando a menos que el disparador lo inicie, entonces, ¿cuál sería la diferencia en realidad?

La razón por la que me he encontrado con esta pregunta es en realidad la supervisión de los servicios de tipo de inicio automático. Dado que el servicio está configurado para comenzar con el disparador y el disparador no es válido, el servicio no se está ejecutando y la supervisión lo informa de la manera en que el servicio automático no se está ejecutando.

En resumen, mis preguntas son:

  1. ¿Cuál es la diferencia entre automatic (trigger start)y manual (trigger start)servicio?
  2. ¿Puede tener algún impacto en el servicio / aplicación (en general) si el servicio se cambiará automatic (trigger start)a manual (trigger start)?
Ricky-Brno
fuente

Respuestas:

32

Los servicios automáticos comienzan cuando se inicia el sistema operativo. Los servicios manuales no. Se pueden agregar disparadores a los servicios para que se inicien en algún evento, como un evento ETW o un dispositivo USB que se está conectando, etc. Los disparadores se pueden agregar a los servicios manuales o automáticos.

Un ejemplo de los activadores en un servicio automático (inicio de activador):

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;

Un ejemplo de los activadores en un servicio Manual (inicio de activador):

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

Un servicio se puede configurar en Automático, de modo que se inicie tan pronto como se cargue el SO, pero también puede detenerse por sí solo cuando el servicio no tiene más trabajo que hacer. Una vez que se ha detenido, un disparador puede iniciarlo nuevamente en cualquier momento.

En resumen, tanto los servicios automáticos como los manuales pueden tener activadores que los inician manualmente. La única diferencia es que los servicios automáticos comienzan tan pronto como se carga el sistema operativo.

Ryan Ries
fuente
No está completamente claro, si estos servicios comienzan por disparador o automático? ¿O solo se detienen por gatillo?
Suncatcher