J'ai installé plusieurs de nos services écrits personnalisés sur des boîtes Windows (peu importe si XP, Server, Vista). Je configure toujours pour "Redémarrer le service" sur les 1er, 2ème et échecs suivants. Mais je n'ai jamais vu ce travail; le service s'arrête simplement (à cause d'une erreur ou de quelque chose dans le code) mais ne redémarre pas.
Je viens de remarquer la case à cocher "Activer les actions pour les arrêts avec erreurs". Doit-il être vérifié pour que la récupération prenne effet si l'échec a été causé par une erreur?
merci, Mark.
La case à cocher «Activer les actions pour les arrêts avec erreurs» a été introduite avec Windows Vista et Windows Server 2008, fournissant une seule ligne de documentation embarrassante :
Le SC.exe programme a été également mis à jour pour fournir une nouvelle commande:
failureflag
. La documentation montre un mauvais exemple et ne s'applique pas vraiment à Windows Server 2003, mais nous indique que la commande:Ainsi, la case à cocher et
sc failureflag
sont utilisées pour définir le même indicateur.Tapons
sc failureflag
dans l'invite de commande, nous obtenons enfin une description assez décente:Une description similaire peut être trouvée ici .
Ainsi, la bonne réponse à la question d'origine est: les actions de récupération configurées prennent toujours effet lorsque votre service ne se termine pas dans l'état SERVICE_STOPPED. "Activer les actions pour les arrêts avec erreurs" doit être coché si vous devez activer les actions de récupération également lorsque votre service entre dans l'état SERVICE_STOPPED, à condition que le code de sortie ne soit pas 0 (erreur).
la source