如何判断另一个进程何时停止写入Perl中的文件?

时间:2009-01-27 11:49:40

标签: perl file

我有一个使用FTP将文件写入文件夹的系统。我需要复制这些文件,但只有在FTP系统完成后才能复制。如何判断第一个过程何时完成。

4 个答案:

答案 0 :(得分:11)

另一种可能性是让上传文件的过程以临时名称上传,然后重命名。

重命名以原子方式发生,因此不存在文件在其最终名称下不完整的情况。

复制过程可能会忽略临时命名文件。

答案 1 :(得分:3)

扩展zoul的想法:拥有一个指示目标最后一次更新的文件。每次上传后,您都会触摸该文件。

另一方面的cron进程可以定期检查更新并完成其工作。

答案 2 :(得分:1)

最简单的方法是创建一个表明已完成传输的文件?

答案 3 :(得分:0)

你应该使用Linux::Inotify2,它是为那种东西而制作的! :)

只需在您的FTP目录中观看'IN_CLOSE'事件......