Linux 严格按照顺序读取日志文件的所有内容,并进行旋转

Linux 严格按照顺序读取日志文件的所有内容,并进行旋转,linux,file,process,race-condition,Linux,File,Process,Race Condition,有一个过程p将日志追加到文件p.log 我想创建一个进程,从文件的开头到结尾读取p.log,以及附加到文件中的任何新内容。同时,此过程必须旋转p.log以保存存储 有没有什么方法可以在不触及p的实现的情况下实现这一点 如果我使用logrotate(copyruncate)和tail-f,我想我可能会因为竞争条件而漏掉一些行

有一个过程
p
将日志追加到文件
p.log

我想创建一个进程,从文件的开头到结尾读取
p.log
,以及附加到文件中的任何新内容。同时,此过程必须旋转
p.log
以保存存储

有没有什么方法可以在不触及
p
的实现的情况下实现这一点

如果我使用
logrotate(copyruncate)
tail-f
,我想我可能会因为竞争条件而漏掉一些行