flockPerl中的文件锁定机制是建议性的。如果其他进程也使用flock,则可以使用它来阻止其他进程访问文件。甚至在某些系统中,这种机制也很不稳定(我正在看着您,NFS)。
使用其他进程不会知道的匿名临时文件操作,并在处理完成后重命名文件可能会更可靠。
use File::Temp;
my ($fh, $obscure_filename) = tempfile();
print $fh "some data ...\n";
...
close $fh;
rename($obscure_filename, $the_real_name_of_the_file);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。