前几天我问过有没有办法让 tail -F 发出蜂鸣声?
现在我想知道是否有任何方法可以使用 *nix 实用程序,在 atail -F
停止返回新行一段时间时发出蜂鸣声!
我知道,我可以用任何语言编写一个简单的应用程序来执行此操作,但我很好奇是否有一种方法可以仅通过标准(或半标准)实用程序来执行此操作。
目标是当文件(如日志文件)不再增长时发出蜂鸣声。
答案1
tail -F asdf.log | while true; do if read -t 1 LINE; then echo $LINE; else echo beep; fi; done
(将后面的数字更改-t
为您想要的不活动秒数)
答案2
silence
在 中使用显示器screen(1)
。您可以将其设置为一段时间的“静音”(无输入/输出),并且会发出视觉或听觉铃声。
答案3
假设您有一个名为的日志文件日志.txt。如果日志.txt至少没有更新5秒后,此命令将通过蜂鸣声警告用户:
perl -e 'for(;;){$p=$z;$z=`wc -l log.txt`;if ($z==$p) {print "\a";}sleep(5);}'
虽然很丑,但是很管用;)