如何在不锁定perl的情况下拖尾日志文件

aaj*_*tak 6 windows perl locking file tail

这就是我现在正在做的事情,但它会锁定文件.

#!/usr/bin/perl
use Env qw( $USERNAME );
use File::Tail;
use strict;
use warnings;

my $file = $ARGV[0];

print "$file\n";

my $fileTail = File::Tail->new( name=>$file, maxinterval=>5, tail=>-1);
my $line;

while ( defined( $line = $fileTail->read ) )
{
    print $line;
}

exit;
Run Code Online (Sandbox Code Playgroud)

Rog*_*ger 4

根据文档,它不应该被锁定。你的操作系统是什么?我想知道您是否使用 Windows,尽管 shebang 行表明不是。因此,有关您的环境的更多详细信息将会有所帮助。

  • 文档特别指出 $fileTail->read _will_ 块。如果您不想阻止,请使用 $fileTail->select()。此答案中给出的链接中有一个完整的示例。 (2认同)