私はこれを実行しています:
if (open(PS_ELF, "/bin/ps -eLf|")) {
while (<PS_ELF>) {
if ($_ =~ m/some regex/) {
# do some stuff
}
}
}
ローカルで呼び出された場合、ループは出力行ごとに 1 回、問題なく実行されます。ps -eLf
同じスクリプトがNagiosからNRPE経由で呼び出された場合、 にPS_ELF
は 1 行しか含まれません ( によって出力される最初の行ps
)。
これは私を困惑させます。何が理由でしょうか?
おそらく、これは Nagios に限定されるものではなく、Nagios によって引き起こされるものではありません。完全を期すために含めただけです。
私は SUSE Enterprise Linux 10 SP2 と perl v5.8.8 を使用しています。