4

Я использую GNU Parallel для одновременного запуска команды несколько тысяч раз.

Для получения журналов выполнения я использую --files и --results .

Чтобы получить хороший индикатор выполнения во время работы, я использую --eta и --progress .

Теперь моя проблема в том, что, хотя STDERR перенаправляется в файлы, он все еще печатается на терминал, что портит мой индикатор выполнения.

Как я могу подавить печать STDERR на терминал? Я все еще хочу, чтобы эта информация была в файлах журнала, поэтому я не могу просто перенести команду в 2>/dev/null .

Пока моя командная строка выглядит так:

cat input.txt | parallel -P 10 --progress --eta --files --results output_dir/ "./script.sh some-arg {}"

1 ответ1

0

Если вы хотите хороший бар, могу ли я предложить --bar вместо --eta? Вам нужна версия 20131122 или новее.

Кажется, это работает, так как файлы STDERR не печатаются, поэтому вы ничего не получите на STDERR, кроме --bar:

cat input.txt | parallel -P 10 --bar --files --results output_dir/ "./script.sh some-arg {}" >/dev/null

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .