Как включать %CPU использование в уведомление?

Это медленно, но это действительно имеет один плюс. Это поддерживает ширину разделителей полей, когда они более широки, чем отдельный символ. FWIW: Если Вы запускаете этот скрипт дважды, результат идентичен оригиналу.

Вот сценарий.

awk '{ eix = length($0) 
       for( fn=NF; fn>0; fn--) { dix=eix
            while( substr($0,dix,1) ~ /[ \t]/ ) dix--
            printf "%s%s", substr($0,dix+1,eix-dix), $fn
            dix-=length($fn); eix=dix }
       print substr($0,1,dix)
    }' "$file"

Вот сравнения некоторого времени. Тестовый файл содержал 1 строку.

                      fields           fields     
                      10,0000          10,000,000

user11136 {python} | real  0.029s     real  3.235s
reversible? no     | user  0.032s     user  2.008s
                   | sys   0.000s     sys   1.228s

jmp {python}       | real  0.078s     real  5.045s
reversible? no     | user  0.068s     user  4.268s
                   | sys   0.012s     sys   0.560s

rush {awk}         | real  0.120s     real  10.889s
reversible? no     | user  0.116s     user   8.641s
                   | sys   0.008s     sys    2.252s

petero {awk}       | real  0.319s     real  35.750s
reversible? yes    | user  0.304s     user  33.090s
                   | sys   0.016s     sys    2.660s
3
21.11.2013, 15:44
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

При необходимости в нецелом числе порог использования ЦП следующее решение только для Bash должно работать:

if [[ "$highest_cpu" > 9.3 ]];then
...
3
27.01.2020, 21:23
  • 1
    if [ "$highest_cpu" -gt 8 ]; then требует целого числа? –   21.11.2013, 18:19
  • 2
    @vasa1 Да. См. обновленный ответ для сравнений нецелого числа. –  Joseph R. 21.11.2013, 18:26
  • 3
    @vasa1 пожалуйста. Между прочим, я обновил ответ: head -2 является ненужным. –  Joseph R. 21.11.2013, 18:38

Теги

Похожие вопросы