无法重置 systemd 看门狗计时器

无法重置 systemd 看门狗计时器

我使用的是嵌入式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

然后我MAINPID使用systemctl status命令获取,
设置MAINPIDwithsystemd-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.

相关内容