Si vous utilisez un fichier de service systemd pour démarrer votre service, ajoutez les lignes ci-dessous à votre fichier de service à partir duquel vous démarrez votre service :
[Service]
Type=simple
ExecStart=here will be your service executable name
Restart=always
RestartSec=0
-
Restart=
Configure si le service doit être redémarré lorsque le processus de service se termine, est tué ou qu'un délai d'attente est atteint. Prend l'une des valeurs suivantes :
no
,on-success
,on-failure
,on-abnormal
,on-watchdog
,on-abort
oualways
. Si défini surno
(valeur par défaut). -
RestartSec=
Configure le temps de veille avant de redémarrer un service (comme configuré avec
Restart=
). Prend une valeur sans unité en secondes.
Ces deux options doivent être sous le [Service]
balise dans un fichier de service.
J'ai utilisé monit monit pour cela. Un message sur askfedoraproject me suggère que c'est toujours un bon moyen de surveiller les processus et de les redémarrer automatiquement.
Il fournit une bonne configuration granulaire des fonctions de surveillance, comment décider si un processus a échoué et les actions à entreprendre pour le récupérer.