Puteți folosi un watchdog pentru servicii:
WatchdogSec=
Configurați timeout-ul watchdog pentru un serviciu. Watchdog-ul este activat la finalizarea pornirii. Serviciul trebuie să apeleze sd_notify(3) în mod regulat cu „WATCHDOG=1” (adică „ping-ul de menținere în viață”). Dacă timpul dintre două astfel de apeluri este mai mare decât timpul configurat, atunci serviciul este plasat într-o stare eșuată și se va termina cu SIGABRT (sau semnalul specificat de WatchdogSignal=). Setând Restart= la on-failure, on-watchdog, on-anormal sau întotdeauna, serviciul va fi repornit automat. Timpul configurat aici va fi transmis procesului de serviciu executat în variabila de mediu WATCHDOG_USEC=. Acest lucru permite demonilor să activeze automat logica ping-ului de menținere în viață dacă suportul watchdog este activat pentru serviciu. Dacă se folosește această opțiune, NotifyAccess= (vezi mai jos) ar trebui setat să deschidă accesul la soclul de notificare furnizat de systemd. Dacă NotifyAccess= nu este setat, acesta va fi implicit setat la main. Valoarea implicită este 0, ceea ce dezactivează această caracteristică. Serviciul poate verifica dacă managerul de servicii se așteaptă la notificări de păstrare în viață. Consultați sd_watchdog_enabled(3) pentru detalii. sd_event_set_watchdog(3) poate fi folosit pentru a activa suportul automat pentru notificarea watchdog.
puteți găsi o mulțime de exemple pe web.