web-dev-qa-db-fra.com

Démarrage du déclencheur de service Windows - différence manuelle vs automatique?

Depuis Windows Server 2008 R2 (et Windows 7, je pense pour le système d'exploitation client), Microsoft a introduit trigger start Pour les services. Je comprends la différence entre les types de démarrage automatic, automatic (delayed) et manual. D'après ce que j'ai lu sur des articles googlé, je crois que je comprends la logique de trigger start (Mais je ne l'ai jamais utilisé).

Ce que je ne suis pas vraiment sûr de comprendre, c'est la différence de services configurés sur automatic (trigger start) et manual (trigger start) et je n'ai pas eu de chance de trouver une explication à cela.

Je pense en quelque sorte que dans les deux cas, le service ne fonctionne pas à moins que le déclencheur ne le démarre, alors quelle serait la différence en fait?

La raison pour laquelle j'ai rencontré cette question est en fait la surveillance des services de type de démarrage automatique. Étant donné que le service est configuré pour démarrer avec le déclencheur et que le déclencheur n'est pas valide, le service n'est pas en cours d'exécution et la surveillance le signale, ce service automatique n'est pas en cours d'exécution.

Pour résumer - mes questions sont:

  1. Quelle est la différence entre le service automatic (trigger start) et manual (trigger start)?
  2. Cela peut-il avoir un impact sur le service/l'application (en général) si le service passe de automatic (trigger start) à manual (trigger start)?
22
Ricky-Brno

Les services automatiques démarrent au démarrage du système d'exploitation. Les services manuels ne le font pas. Des déclencheurs peuvent être ajoutés aux services pour les faire démarrer sur un événement, tel qu'un événement ETW, ou un périphérique USB connecté, etc. Des déclencheurs peuvent être ajoutés aux services manuels ou automatiques.

Un exemple de déclencheur (s) sur un service automatique (démarrage de déclenchement):

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 exemple de déclencheur (s) sur un service manuel (démarrage de déclenchement):

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 service peut être défini sur Automatique, de sorte qu'il démarre dès le chargement du système d'exploitation, mais il peut également s'arrêter de lui-même de manière élégante lorsque le service n'a plus de travail à faire. Après son arrêt, un déclencheur peut le redémarrer à tout moment.

Donc, pour récapituler, les services automatiques et manuels peuvent avoir des déclencheurs qui les démarrent manuellement. La seule différence est que les services automatiques démarrent dès le chargement du système d'exploitation.

32
Ryan Ries