다음 스크립트가 있습니다.
#!/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
...