Comment coder un watchdog ?
Bonjour à tous et toutes,
Je me penche actuellement sur la création d'un composant logiciel de type "watchdog".
Naturellement il devra être simple, léger, solide et fiable.
L'idée est la suivante, au boot du système ce watchdog sera démarré comme un service (/etc/rc.d is my friend).
Une fois lancé et correctement initialisé, il va réalisera le démarrage d'une série de logiciel suivant une liste présente dans un fichier.
Ce fichier contiendra une série de paramètres de configuration tel que fréquence de requête, délai de réponse, maximum de requètes, maximum de restart.
Le WD interrogera chaque process qui devra répondre dans un certain délai (delay = x fixé dans la config) si le process ne répond pas dans ce delai, le WD réemettra son appel avec un maximum d'essai (maximum = y fixé dans la config).
Si aucune réponse n'est toujours pas parvenu après ce maximum, le watchdog procédera à l'arrêt puis au redémarrage du process (avec un maximum de restart conforme à la config)
Voici en quelques mots l'idée sur papier. Est-ce que cela vous semble correct?
Est-ce que vous auriez des sources d'exemple d'un tel composant ?
Merci beaucoup