系统软件看门狗和“正常”过程监控之间的区别

时间:2017-06-19 07:12:05

标签: process monitoring systemd watchdog

我已经尝试了2个系统单元配置:

progA.service

[Service]
Type=simple
ExecStart=/opt/progA
WatchdogSec=10s

progB.service

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

2种情况下的效果相似:每当程序终止/崩溃/退出时,它会在10秒后重新启动。据我了解,只有在需要监视程序内部的特定线程/循环时,使用watchdog才有优势。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

是的,看门狗会发现"活跃"超出Restart指令,只检测"死亡"。

avoid being killed by the watchdog,您的服务必须主动拨打sd_notify。想象一下,如果发生了不好的事情,并没有完全扼杀你的服务,就像死锁一样。该进程不会被Restart指令终止,但它将无法发送sd_notify并且将由监视程序重新启动(只要在死锁的同一线程上发送检查) )。