【发布时间】:2010-07-16 18:07:01
【问题描述】:
我们知道,当尝试在 Linux 上使用 inotify 监视目录时,我们会在文件创建后立即收到通知(在其他进程完成写入之前)
有没有一种有效的方法来确保在其他进程完成写入文件之前不读取文件?
我们可能会添加延迟读取;但众所周知,它是有缺陷的。
为了更清楚地了解场景;这两个进程以不同的用户身份运行;预期的负载大约是每秒创建几百个文件。
【问题讨论】:
-
我想你不能只为每个文件创建一个命名信号量来确保一次只有一个进程在使用一个文件?
-
Define "finish" ... 除非进程关闭文件,否则是否有可能确定进程是否“完成”写入,即使在原则上?
-
您是否可以控制读取/写入文件的程序,或者这也需要与“任何第三方程序”一起使用?
-
你的意思是基本的进程同步吗?
-
感谢大家的快速回复...创建文件到监控目录的过程是第三方软件,我无法控制。监视和读取文件的那个;是的,我对此有完全的控制权。