組み込みLinux環境を使用しています。 Qtアプリケーションを起動するサービスを作成しました。
[Unit]
Description=AutoStart App
[Service]
Type=simple
ExecStartPre=/home/root/Clean_Application.sh
ExecStart=/home/root/Startup_Script.sh
WatchdogSecs=10min
NotifyAccess=all
Restart=always
StartLimitInterval=5min
StartLimitBurst=4
StartLimitAction=reboot-force
[Install]
WantedBy=multi-user.target
その後、次の手順を実行してタイマーをリセットしようとしました。
export NOTIFY_SOCKET=/run/systemd/notify
systemd-notify READY=1
その後、get、setコマンドをMAINPID
使用し、次のコマンドを実行してタイマーをリセットしようとしました。systemctl status
MAINPID
systemd-notify MAINPID=$PID
systemd-notify WATCHDOG=1
この設定のすべての組み合わせを試しましたが、タイマーのリセットには何も機能しません。変更type=notify
して実行してみましたが、systemd-notify "WATCHDOG=1"
何も機能しないようです。
このスクリプトの問題をどのように解決できますか?
ベストアンサー1
これにより、ソフトウェア監視機能を実装できます。これにより。
#include <systemd/sd-daemon.h>
sd_notify(0,"READY=1"); //in my constructor
sd_notify(0,"WATCHDOG=1"); // in my timer every 10 seconds.