0
此代碼未經測試,其目的是每3秒檢查一次輸出文件的大小,並在myprogram停止增加時終止它。無論如何,它也應該在60秒後被殺死。尋找在bash腳本中每秒鐘輪詢一次的替代方案
該腳本將由整個腳本的事件觸發多次運行。
我的問題是,ID有一個更有效的方式來實現文件大小的監控,而不需要運行幾十個1秒的定時器。
也許運行一個主輸出1秒定時器的腳本在運行時會被輸入到所有文件大小監視腳本中?
myprogram >> ~/log/$$.txt
pid=!$
filesize='1'
counter='0'
counter2='0'
while ((counter<61))
do
((counter++))
((counter2++))
if (($counter2 == "3")) ;
then
counter2='0'
lastfilesize=$filesize
filesize=$(stat -c%s "~/log/$$.txt")
if (($filesize == $lastfilesize)) ;
then
kill $pid
fi
fi
sleep 1
done
if (($counter == 61)) ;
then
kill $pid
fi
exit
如果您只想每3秒鐘檢查一次,爲什麼不在睡眠中「睡眠3」? –