![시스템 감시 타이머를 재설정할 수 없습니다.](https://linux55.com/image/172086/%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EA%B0%90%EC%8B%9C%20%ED%83%80%EC%9D%B4%EB%A8%B8%EB%A5%BC%20%EC%9E%AC%EC%84%A4%EC%A0%95%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
임베디드 리눅스 환경을 사용하고 있습니다. 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.