Notifications

如何在通知中包含 %CPU 使用率?

  • November 21, 2013

我有以下腳本:

#!/usr/bin/env bash

sleep_period=8m

while true; do
 if ps -eo %C --sort -%cpu | head -2 | awk 'NR==2 { exit !($1>8); }'; then
     notify-send 'CPU alert!' '......'
     xdotool key shift
 fi
 sleep ${sleep_period}
done

但我不知道如何獲取通知以列印 % CPU 值而不是'......'.

我正在使用 Lubuntu 13.10,完全更新。

如果我正確理解您的邏輯,那麼如何:

while true; do
 highest_cpu="$(ps -eo %C --sort -%cpu | awk 'NR==2 {print $1}')"
 if [ "$highest_cpu" -gt 8 ]; then
     notify-send 'CPU alert!' "$highest_cpu"
     ...
 fi
 ...
done

如果您需要非整數 CPU 使用率門檻值,則以下純 Bash 解決方案應該可以工作:

if [[ "$highest_cpu" > 9.3 ]];then
...

引用自:https://unix.stackexchange.com/questions/102082