perl - 如何在不发生冲突的情况下对文件进行并行写访问?

标签 perl parallel-processing file-locking

我有一些子进程应该将一些日志写入一个公共(public)文件。我想知道这段代码是否有效,以便进程将写入公共(public)文件而不会发生冲突:

sub appendLogs {
    open FILE, "+>>", $DMP or die "$!";
    flock FILE, LOCK_EX or die "$!";
    print FILE "xyz\n";
    close FILE;
}

如果没有,您能否给我任何提示,我该如何修复或改进它?

最佳答案

出于记录目的,我会使用 Log4perl而不是重新发明轮子。它支持您正在查找的内容。

关于perl - 如何在不发生冲突的情况下对文件进行并行写访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11050892/

相关文章:

regex - 正则表达式中的负回顾

perl - 在 Perl 中捕获 SQL 连接的异常

c - 使用 OpenMP 进行矩阵相乘比序列化方式花费更多时间

linux - 如何使用 linux flock 命令来防止另一个根进程删除文件?

用于防止多个 JVM 进程多次写入的 Java Filelock 不起作用

perl - 解析 Perls "$?"返回代码 : Why is it different from Hana sql error code ? ?

perl - Perl 中最小的非零正 float 是多少?

performance - 多线程时现代操作系统上的目录漫游器变慢?

java - Java 8 Stream 抛出 RuntimeException 时的预期行为是什么?

windows - 在远程机器 (windows) 上锁定文件的简单方法?