시스템 감시 타이머를 재설정할 수 없습니다.

시스템 감시 타이머를 재설정할 수 없습니다.

임베디드 리눅스 환경을 사용하고 있습니다. 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
MAINPIDsystemd-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.

관련 정보