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