У меня это работает:
if (open(PS_ELF, "/bin/ps -eLf|")) {
while (<PS_ELF>) {
if ($_ =~ m/some regex/) {
# do some stuff
}
}
}
При локальном вызове цикл работает нормально, по одному разу для каждой строки вывода ps -eLf
.
Теперь, если тот же скрипт вызывается из Nagios через NRPE, PS_ELF
содержит только одну строку (первая строка выводится ps
).
Это озадачивает меня; Что может быть причиной?
Возможно, это вообще не связано с Nagios/вызвано им, я просто включил его для полноты картины.
Я использую SUSE Enterprise Linux 10 SP2 и perl v5.8.8.
/bin/ps -eLf > /tmp/psout.txt
; - person codelogic   schedule 05.02.2009