Основным отличием являются переменные среды.
В этом случае это может быть ПУТЬ. lsof часто находится в / usr / sbin, который может находиться в вашем PATH, когда вы запускаете его интерактивно, но не в PATH, когда запускается из cron.
попробуйте /usr/sbin/lsof|wc -l
в вашем скрипте cron. И проверьте локальную почту, так как вывод cron обычно отправляется туда, могут быть соответствующие сообщения об ошибках.
Это связано с размером трубы, так как результат может быть довольно большим?
номер