我正在尝试设置小型内部cpu监视bash脚本,当cpu的使用率达到90%时,该电子邮件会向使用cpu消耗最多的前5个进程发送电子邮件。如果有多个cpus,则应该能够取所有cpus的平均值。
看看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
这也将不显示标题。