bash命令可查找前5个最消耗CPU的进程并发送电子邮件[关闭]

问题描述 投票:-1回答:1

我正在尝试设置小型内部cpu监视bash脚本,当cpu的使用率达到90%时,该电子邮件会向使用cpu消耗最多的前5个进程发送电子邮件。如果有多个cpus,则应该能够取所有cpus的平均值。

bash email cpu-usage
1个回答
1
投票

看看manpage for the ps command。选项之一是ps选项。这允许您以各种方式格式化-o命令的输出。

例如,使ps仅打印那些字段:

ps

您可以通过循环并在ps -oni -orss -o%cpu -osize --no-header 语句中阅读它:

read

以JSON格式获取所需的方式取决于您。我也不是100%知道您要寻找什么值。什么是ps -oni -orss -o%cpu -osize --no-header | while read nice mem cpu disk do echo nice = $nice, memory = $mem, cpu = $cpu, disk = $disk done ?是nice的值还是cpu的使用量? “磁盘使用率”是什么意思?。

查看Cpu-Nice联机帮助页,找到所需的列,然后显示它们。也可以使用您的no heading选项,或者直接执行以下操作:

ps

这也将不显示标题。

© www.soinside.com 2019 - 2024. All rights reserved.