gpt4 book ai didi

linux - 为什么我的进程计数脚本会出现误报?

转载 作者:太空狗 更新时间:2023-10-29 11:24:01 25 4
gpt4 key购买 nike

我有以下 bash 脚本,它列出了当前的 httpd 进程数,如果超过 60,它应该给我发电子邮件。这在 80% 的时间都有效,但出于某种原因,有时它会在不超过 60 时给我发电子邮件。有什么想法吗?

#!/bin/bash
lines=`ps -ef|grep httpd| wc -l`
if [ "$lines" -gt "60" ]
then
mailx -s "Over 60 httpd processes" me@me.com < /dev/null
fi

最佳答案

  1. 检查和发送电子邮件之间存在延迟。那时,某些 httpd 进程可能会完成或启动,或两者兼而有之。因此,进程数可以不同。
  2. 您在进程中包含了 grep 进程(大多数情况下,ps 可能会在 grep 开始之前完成) .避免这种情况的一种简单方法是将命令更改为 ps -ef | grep [h]ttpd。这将确保 grep 不匹配 grep [h]ttpd
  3. 在 Linux 上,您有 pgrep,它可能更适合您的目的。
  4. grep ... | wc -l 通常可以替换为 grep -c ...
  5. 如果您想限制 httpd 请求的数量,我相信您可以在 apache 配置文件中进行设置。

关于linux - 为什么我的进程计数脚本会出现误报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com