首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >monit:检查没有pidfile的进程

monit:检查没有pidfile的进程
EN

Server Fault用户
提问于 2011-05-16 20:37:41
回答 3查看 54.8K关注 0票数 43

我正在寻找一种方法来杀死所有具有给定名称的进程,这些进程已经运行了超过X个时间。我生成了这个特定可执行文件的许多实例,有时它会陷入糟糕的状态并永远运行,占用了大量的cpu。

我已经在使用monit了,但是我不知道如何在没有pid文件的情况下检查进程。规则是这样的:

代码语言:javascript
复制
kill all processes named xxxx that have a running time greater than 2 minutes

你怎么用单元组来表达这个?

EN

回答 3

Server Fault用户

发布于 2011-06-30 03:12:25

在monit中,您可以对没有PID的进程使用匹配字符串。使用名为"myprocessname“的进程的示例,

代码语言:javascript
复制
check process myprocessname
        matching "myprocessname"
        start program = "/etc/init.d/myproccessname start"
        stop program = "/usr/bin/killall myprocessname"
        if cpu usage > 95% for 10 cycles then restart

也许,如果您检查CPU负载是否处于某一水平(每个监视周期为30秒),然后重新启动或终止,这可能是一个选项。或者您可以在与进程相关的文件上使用monit时间戳测试

票数 86
EN

Server Fault用户

发布于 2013-02-26 20:22:41

Monit可以从5.4版本开始执行此操作:

代码语言:javascript
复制
if uptime > 3 days then restart

请参阅:项目更改文件

票数 3
EN

Server Fault用户

发布于 2012-05-29 03:06:54

您可以将它作为exec语句处理为monit。

代码语言:javascript
复制
    if [[ "$(uname)" = "Linux" ]];then killall --older-than 2m someprocessname;fi
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/270316

复制
相关文章

相似问题

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