![持续监控某个进程并显示 CPU 使用率](https://linux22.com/image/1151633/%E6%8C%81%E7%BB%AD%E7%9B%91%E6%8E%A7%E6%9F%90%E4%B8%AA%E8%BF%9B%E7%A8%8B%E5%B9%B6%E6%98%BE%E7%A4%BA%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%20.png)
我正在运行一个资源密集型的 python 应用程序,但想每 5 秒持续了解该应用程序的 CPU 使用情况并显示结果。
我使用mpstat -P ALL
但是我需要每 5 秒重新运行此命令。
有没有办法每 5 秒持续轮询并显示结果。我也想格式化输出。
答案1
正如其他人已经提到的,watch
这是观察命令输出如何变化的方法。但是,如果您想修改输出和/或在脚本中使用它,我会使用循环和printf
:
while :; do
printf "%s %.1f %s\r" "I need" "$(mpstat -P ALL | awk 'NR==4{print $3}')" "here."
sleep 5
done
这将打印“我需要X这里。”,等待5
秒并重复覆盖现有的文本行。
X在这个例子中是行中的值4
, 柱子3
的mpstat
输出,格式化为f
四舍五入为1
小数。按Ctrl+C可中断循环。