次のスクリプトがあります。
#!/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を使用しています。
答え1
あなたのロジックを正しく理解したら、次はどうですか?
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
...