Когда я использую команды «ps», «egrep» и «wc» для подсчета количества процессов, это дает мне неправильное значение. Я запускаю команду на машине 'Solaris 9' . Пожалуйста, помогите в понимании проблемы.
MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND'
UID PID PPID C STIME TTY TIME CMD
root 16267 16171 0 Jan 28 ? 0:18 xyz
root 16269 16171 0 Jan 28 ? 0:07 abc
root 16268 16171 0 Jan 28 ? 0:07 ghi
MyServer $
Только 4 (3 процесса + заголовок) строки показаны в выводе. Но когда я использую приведенную ниже команду, она возвращает вывод как 5
MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' | wc -l
5
С другой стороны, когда я отображаю вывод в файл и подсчитываю количество строк, он работает совершенно нормально.
MyServer $ ps -fu root | egrep -v 'bash|ksh|ssh|ef|mailx|nohup|defunct|ps|sh|FND' >temp && cat temp | wc -l
4