【发布时间】:2014-06-04 19:14:59
【问题描述】:
我有以下情况: 名为“A”的远程进程将文件发送到 FTP 服务器。 一个名为“B”的远程进程读取FTP服务器中进程“A”发送的文件并做一些事情。
如果进程“B”读取文件正在由进程“A”写入,这种情况说明了潜在的并发问题。
我需要在 PHP 中开发进程“B”。我可以检查文件是否正在写入吗?但如果不是……您有什么替代方案?
编辑 进程 A 不在我的控制之下。
【问题讨论】:
-
认为你可以检查年龄:stackoverflow.com/questions/8540858/…
-
这听起来像是一个基于文件系统的问题。本质上,如果有一个写文件句柄打开,你不希望 B 能够打开一个文件句柄。
-
@cale_b 你知道什么时候设置的吗?文件系统是在写入完成后执行此操作,还是在写入时执行此操作?
-
您控制 A 发送的内容吗?有没有办法让你表示“这是 100% 确定这个文件的结尾”?