我需要检查日志文件,直到 PID 在 perl 中仍然存在。它在 bash 中运行良好。
tail -f --pid=1234 logfile.log
现在我需要对 perl 做同样的事情,通过检查 PID 或给出时间间隔来检查日志文件也适用于我。
我正在使用以下代码在 perl 中执行此操作,但我能够跟踪文件并在其中遇到两个问题。
1)文件的尾部不会立即发生。
2)我想在几秒钟后关闭尾巴,比如 100。
use warnings;
use strict;
use File::Tail;
my $name='/tmp/out';
my $file=File::Tail->new(name=>$name,interval=>1,maxinterval=>5,adjustafter=>1);
my ($found,$timeleft,@pending) = File::Tail::select(undef,undef,undef,100,$file);
if ($found)
{
print $pending[0]->read;
}
我正在使用上面的代码,它仅在 2 秒内退出。我正在寻找一个在给定时间后退出的文件,就像 linux 中的 tailf 命令一样。
谢谢。