我有这个运行:
if (open(PS_ELF, "/bin/ps -eLf|")) {
while (<PS_ELF>) {
if ($_ =~ m/some regex/) {
# do some stuff
}
}
}
如果在本地调用,循环运行得很好,每个输出行一次ps -eLf
现在,如果通过NRPE从Nagios调用相同的脚本,则仅包含一行(第一行由 输出)。PS_ELF
ps
这让我很困惑;可能是什么原因?
也许这根本不限于 Nagios 或由 Nagios 引起,我只是为了完整起见将其包括在内。
我使用的是 SUSE Enterprise Linux 10 SP2 和 perl v5.8.8。