好的,我熟悉几种实现“看门狗”脚本的方法。问题是,这些方法都没有检查“挂起”或无响应的进程。它们都只是检查进程是否仍然存在。
也许我表现出了编程知识的缺乏,但我的印象是,一个进程有时会继续出现在系统中运行,但实际上却崩溃/挂起了。
有没有办法检测这种情况并触发(pkill blah && blah
)相关过程?
以下是一些我并不想寻找的例子:
- http://blog.eracc.com/2010/05/08/linux-monitor-a-service-with-a-watchdog-script/
- http://community.webfaction.com/questions/6157/watchdog-script-to-keep-process-running-with-cron
- linux + 在 shell 脚本中创建简单的看门狗进程
- 监控一次性服务
cron 任务如下:
#!/bin/sh if [ ` pgrep processname -c` -le "0" ]; then processname
答案1
它的用途是这里很好地介绍了 Server Fault,以及文档示例。
您可以轻松地通过 PID 或存在性检查进程;但是 CPU 利用率或 RAM 消耗等其他参数也可以触发各种操作。