無人運用現場で最も厄介なのは「画面は生きているがプログラムが止まった」状態です。この場合、単純な停電復旧設定では解決されません。
# /etc/systemd/system.conf
RuntimeWatchdogSec=30s
RebootWatchdogSec=10min
# ハードウェアウォッチドッグデバイスの確認
ls /dev/watchdog*
最もシンプルで効果的な方法はHTTPヘルスエンドポイントを設け、応答がなければsystemdが再起動するようにすることです。
[Service]
Restart=always
RestartSec=5
WatchdogSec=60
# アプリは sd_notify(WATCHDOG=1) を送信する必要あり
再起動が頻繁なら原因を見る必要があります。ウォッチドッグは最後の手段であり、ログを残してなぜ停止したかを追跡できるようにすべきです。