我所处的情况就是这样 - 有一个进程写入文件,有时文件相当大,比如400 - 500MB。我需要知道什么时候写完了。我怎么能确定这个?如果我查看目录,我会在那里看到它,但可能没有写完。此外,这需要远程完成 - 例如在同一个内部局域网上,而不是在同一台计算机上,通常想要知道文件写入完成的过程是在Linux机器上运行的,其中包含正在编写文件的进程和文件本身在Windows框中。没有桑巴不是一个选择。 xmlrpc与该窗口框上的服务的通信是一个选项,也可以使用snmp来检查它是否可行。
理想地
足够好:
目前最好的想法是定期从Windows框中的某个进程打开有问题的文件,然后查看检查PDF结束标记的最后字节并考虑eol差异,因为该文件可能是在Linux或Windows上创建的
答案 0 :(得分:6)
您可以采取多种方法。我会尝试使用写访问权限打开该文件。如果成功则没有其他人写入该文件。
如果您无法直接访问计算机之间的文件,请构建围绕此概念的Web服务。
答案 1 :(得分:0)
我最终为我们的情况解决了这个问题。事实证明,正在编写文件的过程让它们完全打开,因此我们所要做的就是尝试打开它们以进行读取访问 - 当被拒绝时它们正在使用中。