Comment puis-je code un minuteur de surveillance pour redémarrer un service Windows?

Je suis très intéressé par la réponse à une autre question concernant l'watchdog timer " pour les services Windows (voir ici). Cette réponse, a déclaré:

J'ai également utilisé un système de surveillance interne de l'exécution dans un autre thread. Ce thread regarde le thread principal pour une activité comme la sortie du journal ou d'un basculement de l'événement. Si l'activité n'est pas vu alors le service est considéré comme accroché et j'ai arrêté le service.

Dans ce cas, vous pouvez configurer windows afin de redémarrage automatique d'un service arrêté et qui pourrait résoudre le problème (tant que ce n'est pas une logique interne de bug).

Aussi que je travail avec le texte des journaux sont écrits dans un journal. En outre, pour les services qui sont sur le point de "dormir un peu", je me connecte le temps pour le prochain réveil. J'utilise MTAIL de regarder un journal pour la sortie."

Quelqu'un pourrait-il donner un exemple de code comment utiliser un chien de garde interne de l'exécution dans un autre thread, car actuellement j'ai une tâche de développer un service windows qui sera capable de redémarrer en cas d'échec, hung up, etc.

J'apprécie vraiment votre aide.

Qui est Jean? Vous ne voulez pas dire Jon, par hasard?
Que serait droite: aller à droite vers le haut. Ne pas la peine de demander le reste d'entre nous les nuls.
En fait, c'était John Dyer - voir ma mise à jour sur la question.
Bon, maintenant peut-être que la question a été Anglicisé un peu, nous pourrions nous arrêter downvoting et de commencer à répondre 🙂
Ce n' pas appartiennent à de super-utilisateur. C'est précisément demandant comment code un processus de surveillance.

OriginalL'auteur | 2009-09-23