Awk tail-F的替代方案
我通过执行“TAIL-n-0-F filename”来监视日志文件。但这占用了大量CPU,因为有许多消息正在写入日志文件。有没有办法,我可以打开一个文件,读取新的/很少的条目,然后关闭它,每隔5秒重复一次?这样我就不需要继续跟踪文件了?在下一次运行中,我如何记住从下一行开始的最后一个读取行?我试图在nawk中通过生成tail shell cmd来实现这一点。通过编写自己的实现,您将无法神奇地使用更少的资源来跟踪文件。如果tail-f正在使用资源,因为文件正在快速增长,那么如果您仍然希望在编写时查看所有行,那么定制版本将毫无帮助。您仅仅受到硬件I/O和/或CPU的限制。尝试使用Awk tail-F的替代方案,awk,tail,shell,nawk,Awk,Tail,Shell,Nawk,我通过执行“TAIL-n-0-F filename”来监视日志文件。但这占用了大量CPU,因为有许多消息正在写入日志文件。有没有办法,我可以打开一个文件,读取新的/很少的条目,然后关闭它,每隔5秒重复一次?这样我就不需要继续跟踪文件了?在下一次运行中,我如何记住从下一行开始的最后一个读取行?我试图在nawk中通过生成tail shell cmd来实现这一点。通过编写自己的实现,您将无法神奇地使用更少的资源来跟踪文件。如果tail-f正在使用资源,因为文件正在快速增长,那么如果您仍然希望在编写时查
--sleep interval=S
,其中“S”是秒数(默认值为1.0-您可以指定小数)
如果您有如此多的日志条目,以至于
tail
使CPU陷入困境,那么您如何能够监视它们呢?您所描述的正是tail-f在内部所做的事情,唯一不同的是您所说的使用更长的延迟时间。如果您仍然需要查看所有线路,硬件将限制您。
tail -n 0 --sleep-interval=.5 -F filename