Process systemd软件看门狗与“软件看门狗”之间的区别;“正常”;过程监控

Process systemd软件看门狗与“软件看门狗”之间的区别;“正常”;过程监控,process,monitoring,systemd,watchdog,Process,Monitoring,Systemd,Watchdog,我已经试用了两种systemd单元配置: 程序服务 [Service] Type=simple ExecStart=/opt/progA WatchdogSec=10s 程序服务 [Service] Type=simple ExecStart=/opt/progB Restart=always RestartSec=10 两种情况下的效果类似:每当程序终止/崩溃/退出时,它都会在10秒后重新启动。据我所知,只有当程序中的特定线程/循环需要监控时,使用watchdog才有优势。我遗漏了什么吗?

我已经试用了两种systemd单元配置:

程序服务

[Service]
Type=simple
ExecStart=/opt/progA
WatchdogSec=10s
程序服务

[Service]
Type=simple
ExecStart=/opt/progB
Restart=always
RestartSec=10

两种情况下的效果类似:每当程序终止/崩溃/退出时,它都会在10秒后重新启动。据我所知,只有当程序中的特定线程/循环需要监控时,使用watchdog才有优势。我遗漏了什么吗?

是的,看门狗将在
Restart
指令之上和之外检测“活动”,该指令只检测“死亡”


要执行此操作,您的服务必须主动调用
sd\u notify
。想象一下,如果发生了一些不太好的事情,比如死锁,并没有完全杀死您的服务。使用
Restart
指令不会终止进程,但它将无法发送
sd\u notify
,并且将由看门狗重新启动(只要检查是在死锁的同一线程上发送的)。

谢谢。这证实了我的想法。谢谢你的邀请。这对我来说只是新的。