Pokud ke spuštění služby používáte soubor služby systemd, přidejte do souboru služby, odkud službu spouštíte, následující řádky:
[Service]
Type=simple
ExecStart=here will be your service executable name
Restart=always
RestartSec=0
-
Restart=Konfiguruje, zda má být služba restartována, když proces služby skončí, je zabit nebo je dosažen časový limit. Nabývá jedné z následujících hodnot:
no,on-success,on-failure,on-abnormal,on-watchdog,on-abortneboalways. Pokud je nastaveno nano(výchozí). -
RestartSec=Nakonfiguruje čas přechodu do režimu spánku před restartováním služby (jak je nakonfigurováno pomocí
Restart=). Nabírá hodnotu bez jednotek v sekundách.
Tyto dvě možnosti musí být pod [Service] tag v souboru služby.
Použil jsem k tomu monit monit. Příspěvek na askfedoraproject mi naznačuje, že je to stále dobrý způsob, jak monitorovat procesy a automaticky je restartovat.
Poskytuje dobrou granulární konfiguraci monitorovacích funkcí, jak rozhodnout, zda proces selhal, a akce, které je třeba podniknout k jeho obnovení.