我正在尝试监视某些进程在linux上运行的日志文件(创建一个联合日志文件,其中日志条目在发生时分组在一起)。目前我正在考虑打开正在记录的文件,使用inotify(或包装器)进行轮询,然后检查是否可以再读取该文件。
有没有更好的方法呢?也许某些图书馆会对文件的阅读/更改进行抽象观察?
答案 0 :(得分:3)
为什么“tail -f”不足够?您可以使用popen和pipe来处理Python。
答案 1 :(得分:1)
Generator Tricks For Systems Programmers展示了如何使用Python generators来解决此类问题;特别是,监视(大)日志文件。我建议给它一个阅读。
答案 2 :(得分:0)
如果您自己动手,可能会执行以下操作:如果检测到文件修改,请获取文件大小。如果它比上次更大,你可以寻找前一个“最后”位置(即之前的大小)并从那里读取。