挖掘信息是一项繁重的工作(您必须搜索/ proc / * / fd,而使用以下任何一种方法都会更好:
- 保存到临时,然后重命名。将文件写入临时文件名或目录,完成写入后,将其重命名为应用程序读取文件的目录。重命名是原子的,因此当文件存在时,您便知道可以安全读取。
- 也许是上述方法的一种变体,当您完成文件 foo的 写入后,您将创建一个名为 foo.finished 的空文件。您在处理文件时寻找* .finished的存在。
- 写入时锁定文件,这样读取文件将一直阻塞,直到写入者将其解锁为止。请参阅 flock / lockf 函数,尽管它们是建议性的锁定,所以读取器和写入器都必须锁定并遵守这些锁定。



