在写入文件时将文件内容移动到另一个文件

时间:2014-05-22 12:13:29

标签: linux move named-pipes truncate fifo

我在linux中有一个文件,它不断由一个名为fifo的管道进程编写。文件本身不是管道。我想获取文件的内容,并删除它的旧内容,而无需删除,移动,重命名文件本身。我可以轻松地移动该文件的内容,而不必停止以各种方式写入它,使用cat或sed等,这一切都很好,但我不希望我移动的内容也保留在文件中。因为文件不断增长,所以在某些时候它会变得太大。我想移动并截断文件的内容而不停止写入过程。这一点是在一个播放中获取文件的内容,以便我可以将其与其他类似文件一起压缩。连续写入的原始文件不得修改,否则写入将停止。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用logrotate,可以完全按照您的需要进行操作。如果这不是一个选项,请考虑从source code中查看它是如何做到的。