【问题标题】:Difference between systemd software watchdog and "normal" process monitoringsystemd 软件看门狗和“正常”进程监控之间的区别
【发布时间】:2017-06-19 07:12:04
【问题描述】:

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

progA.服务

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

progB.service

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

2种情况的效果类似:每当程序killed/crash/exit,10s后重新启动。据我了解,仅当需要监视程序中的特定线程/循环时,使用看门狗才有优势。我错过了什么吗?

【问题讨论】:

    标签: process monitoring systemd watchdog


    【解决方案1】:

    是的,看门狗会检测到超出Restart 指令的“活跃度”,该指令仅检测“死亡”。

    为了avoid being killed by the watchdog,你的服务必须主动调用sd_notify。想象一下,如果发生了一些不好的事情,但并没有完全杀死你的服务,比如死锁。该进程不会被Restart 指令杀死,但它会无法发送sd_notify 并且会被看门狗重新启动(只要检查是在死锁的同一线程上发送的)。

    【讨论】:

    • 谢谢。这证实了我的想法。
    • 完成。谢谢你的提问。这只是新的 2 我。
    猜你喜欢
    • 2013-09-21
    • 2021-01-04
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2019-03-15
    • 2023-03-29
    相关资源
    最近更新 更多