首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Linux软件watchdog?

如何使用Linux软件watchdog?
EN

Stack Overflow用户
提问于 2012-01-31 08:34:46
回答 9查看 87.7K关注 0票数 21

谁能告诉我如何在Linux中处理软件看门狗?

我有一个持续运行的程序SampleApplication,如果它意外挂起或关闭,我需要重新启动它。

我在谷歌上搜索了一下,发现Linux在/dev/watchdog上有watchdog,但不知道如何使用它。有人能帮我举个例子吗?

我的问题是在哪里指定要重新启动的应用程序名称和延迟间隔?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-01-31 10:01:57

大多数Unix/Linux init程序将为您管理守护进程并重新启动它们。考虑将您的服务放在/etc/inittab中。或者,您可能正在使用Upstartsystemd

所有这些程序都以PID 1身份运行,它们的工作是监视和重新启动系统进程。

从你的Busybox标签,我会假设你正在运行一个嵌入式系统。在这些方面,System V风格的初始化脚本及其所有的shell脚本实在是言过其实。您可能应该删除所有这些内容,并将其替换为/etc/inittab或upstart或systemd作业中的条目。

票数 16
EN

Stack Overflow用户

发布于 2012-02-23 17:12:24

linux软件监视器将重新启动机器,而不仅仅是重新启动您的进程。

这根本不是真的,在看门狗发出系统挂起的信号后,很有可能重新启动单个或多个进程-您甚至可以中止重新启动或进行软重新启动,您可以配置“测试”和“修复”-scripts/二进制文件,它们可以做您想让它们做的任何事情。watchdog的busybox版本被剥离到一个几乎不可用的级别...我猜世界永远不会知道为什么busybox-devs决定放弃主要的功能--现在,最好是完全避免busybox -->速度的提高几乎是不存在的,尺寸的减少并不能弥补功能的巨大损失。/bin/bash相当小-如果大小很重要,可以使用"-Os“标志重新编译所有内容--一个开箱即用的watchdog,它允许人们想要的几乎所有东西。

哦,请不要创建自己的看门狗-那很可能会给你留下未处理的错误,并让你的生活有一天变得糟糕。

票数 18
EN

Stack Overflow用户

发布于 2012-01-31 08:40:50

使用cron怎么样?设置一个每分钟运行一次的小型cron作业。检查应用程序是否已启动(使用ps),如果未启动,请重新启动它。

像这样做一个小脚本:

代码语言:javascript
运行
复制
#!/bin/bash
if [ ! "$(pidof myapp)" ] 
then
  /path/to/myapp &
fi

测试"myapp“是否在进程列表中。"!“反转测试。如果不在那里,它会运行"myapp“。"&“只是为了让它在后台开始。

将此代码添加到cron。根据您的系统和偏好,有几种方法可以做到这一点。经典的方法是使用crontab。有很多关于如何指定crontab行的文档,但您可能需要这样的内容:

代码语言:javascript
运行
复制
* * * * * /path/to/the/script.sh > /dev/null

这将在每个…的每小时的每一分钟运行您的测试你明白了吧。

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

https://stackoverflow.com/questions/9072879

复制
相关文章

相似问题

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