我有下面的程序片段
my $nfdump_command = "nfdump -M /data/nfsen/profiles-data/live/upstream1 -T -R ${syear}/${smonth}/${sday}/nfcapd.${syear}${smonth}${sday}0000:${eyear}/${emonth}/${eday}/nfcapd.${eyear}${emonth}${eday}2355 -n 100 -s ip/bytes -N -o csv -q | awk 'BEGIN { FS = \",\" } ; { if (NR > 1) print \$5, \$10 }'";
syslog("info", $nfdump_command);
my %args;
Nfcomm::socket_send_ok ($socket, \%args);
my @nfdump_output = `$nfdump_command`;
my %domain_name_to_bytes;
my %domain_name_to_ip_addresses;
syslog("info", Dumper(\@nfdump_output));
foreach my $a_line (@nfdump_output) {
syslog("info", "LINE: " . $a_line);
}@nfdump_output是空的。

$nfdump_command是正确的,当单独运行时它会打印输出。

发布于 2014-01-04 12:21:22
这个程序运行了一段时间,然后就坏了。不知道为什么。在将开发设置移动到另一个虚拟机后,我发现使用绝对路径来nfdump修复了它。
https://stackoverflow.com/questions/20918100
复制相似问题