Я выполняю команду, чтобы рекурсивно узнать количество файлов в папке. Есть и другие процессы, которые продолжают помещать файлы в эту папку.
Пример команды:
ls -1 -rt /dump > /segmentizer.out 2> /segmentizer.err
Иногда возвращается ошибка ( ArgumentError ), и программа просто зависает в этот момент. Вот ошибка
negative string size (or size too big)
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.17/lib/active_support/core_ext/kernel/agnostics.rb:7:in ``'
Спасибо, Анантрам.
ls
предназначен для удобочитаемого вывода.find
предназначен для рекурсивного поиска каталога и выполнения действий с файлами. Я подозреваю, что вам вообще не нужен Ruby (если вы создадите правильную командуfind
), но если вы настаиваете на ее использовании, естьfind
stdlib, чтобы легко делать такие вещи. - person Max   schedule 01.09.2014