【发布时间】:2010-09-28 08:48:09
【问题描述】:
我有一个很常见的情况。我有一个文件,我需要用新内容完全覆盖该文件。但是,每次页面加载时都会访问原始文件(这是一个 Web 应用程序),因此它不会丢失很长时间。几毫秒是可以的(虽然不理想),一秒钟是不行的。
现在我通过将一个临时文件写入同一目录然后将该临时文件重命名为新文件的名称来执行此操作。我只是在 Perl 中使用普通的 File::Temp 和“重命名”来执行此操作。我想知道——还有其他推荐/更好的方法吗?最好是不需要 CPAN 模块的,因为这是我系统中唯一需要这样做的地方,而且我不想要一个全新的依赖项。
哦,所有这些都必须在 Windows、Linux、BSD、OS X、Solaris 和大多数其他常见平台上运行。
Here is the code in question,给感兴趣的人。
【问题讨论】:
标签: perl file filesystems rename atomic