Avvio del trigger del servizio Windows: differenza manuale o automatica?


22

Da Windows Server 2008 R2 (e Windows 7 penso per il sistema operativo client) Microsoft ha introdotto trigger startper i servizi. Capisco differenza tra automatic, automatic (delayed)e manualSTARTUP tipi. Da quello che ho letto su articoli su Google, credo di capire la logica trigger start(anche se non l' ho mai usata).

Quello che non sono davvero sicuro di comprendere sarebbe la differenza di servizi configurati automatic (trigger start)e manual (trigger start)e non ho avuto fortuna a trovare spiegazioni per questo.

Sto pensando che in entrambi i casi il servizio non è in esecuzione a meno che il trigger non lo avvii, quindi quale sarebbe la differenza in realtà?

Il motivo per cui ho riscontrato questa domanda è in realtà il monitoraggio dei servizi di tipo di avvio automatico. Poiché il servizio è impostato per iniziare con trigger e trigger non è valido, il servizio non è in esecuzione e il monitoraggio lo sta segnalando nel modo in cui il servizio automatico non è in esecuzione.

Per riassumere, le mie domande sono:

  1. Qual è la differenza tra automatic (trigger start)e manual (trigger start)service?
  2. Può avere qualche impatto sul servizio / sull'applicazione (in generale) se il servizio passerà da automatic (trigger start)a manual (trigger start)?

Risposte:


32

I servizi automatici iniziano all'avvio del sistema operativo. I servizi manuali no. I trigger possono essere aggiunti ai servizi per farli iniziare in alcuni eventi, come un evento ETW o un dispositivo USB collegato, ecc. I trigger possono essere aggiunti ai servizi manuali o automatici.

Un esempio dei trigger su un servizio automatico (avvio trigger):

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 esempio dei trigger su un servizio manuale (avvio trigger):

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 servizio può essere impostato su Automatico, in modo che si avvii non appena il sistema operativo viene caricato, ma può anche arrestarsi correttamente da solo quando il servizio non ha più lavoro da svolgere. Dopo che si è fermato, un trigger può riavviarlo in qualsiasi momento.

Quindi, per ricapitolare, sia i servizi automatici che quelli manuali possono avere trigger che li avviano manualmente. L'unica differenza è che i servizi automatici vengono avviati non appena viene caricato il sistema operativo.


Non è del tutto chiaro se questi servizi si avviano tramite trigger o automatici? O si fermano solo per trigger?
Suncatcher
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.