首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统软件看门狗与“正常”过程监控的区别

系统软件看门狗与“正常”过程监控的区别
EN

Stack Overflow用户
提问于 2017-06-19 07:12:04
回答 1查看 1.4K关注 0票数 3

我已经尝试了两种系统单元配置:

progA.service

代码语言:javascript
复制
[Service]
Type=simple
ExecStart=/opt/progA
WatchdogSec=10s

progB.service

代码语言:javascript
复制
[Service]
Type=simple
ExecStart=/opt/progB
Restart=always
RestartSec=10

在两种情况下,效果是相似的:每当程序终止/崩溃/退出时,在10s后重新启动。据我所知,只有当程序中的某个特定线程/循环需要被监控时,使用看门狗才有优势。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-20 19:56:58

是的,看门狗将检测到Restart指令之外的“活性”,后者只检测“死亡”。

为了实现避免被看门狗杀死,您的服务必须主动调用sd_notify。想象一下,如果发生了一些不太好的事情,并没有完全扼杀您的服务,比如死锁。该进程不会被Restart指令终止,但它将无法发送sd_notify,并将由看门狗重新启动(只要检查是在同一个死锁线程上发送的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44624319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档