tailを使用して0.99%loadav以上の通知を受け取るには?

tailを使用して0.99%loadav以上の通知を受け取るには?
#!/bin/bash

( tail -f -n0 /proc/loadavg 2> /dev/null & ) | grep -q "^[1-9]"
echo 'The millenium crystals are gunna blow!'

私はスマートで、それがうまくいくと思いました。実行から始まり、最初の文字でない限り、ただ停止して反応しません。[1-9]

答え1

tail改行ではなく新しい行を探します。

-f, --follow[={name|descriptor}]
      output appended data as the file grows;

この動作を直接確認するには、このコマンドを使用して次の行を変更できますtestfile

while true ; do
    sed "s/^.*$/$(date)/" -i testfile
    sleep 1
done

Wileループを使用して行の変更を確認できます。

while true ; do
    grep -q "^[1-9]" /proc/loadavg && echo "$message"
    sleep 1
done

答え2

私はgrepでtailを使って新しい行だけでなく変更を得ることができると思います。

ここに来る前に、私は/proc/loadavgが実際にはファイルではなくカーネルインターフェースであることを読んでいました。たぶんあなたは正しいと思うかもしれませんが、可能であっても私はまだそれに満足しています。

継続的なロードループの代わりにinotify通知を受けたいのですが、コンピュータが拒否しているようです。

関連情報