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 알림을 받고 싶지만 컴퓨터가 거부하는 것 같습니다.

관련 정보