当 tail -F 停止获取新结果时,有没有办法发出蜂鸣声?

当 tail -F 停止获取新结果时,有没有办法发出蜂鸣声?

前几天我问过有没有办法让 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);}'

虽然很丑,但是很管用;)

相关内容