почему этот параллельный процесс не записывает вывод в файлы, а вместо этого печатает на консоли?

Отказ от ответственности: Это более общий вопрос о том, что я спросил на biostars.org о параллельности и записи в файл.

Когда я запускаю программу ( obisplit из пакета obitools ) последовательно, она считывает один файл и создает несколько файлов на основе некоторого критерия (не важного здесь) в исходном файле:

 input_file.fastq |____ output_01.fastq |____ output_02.fastq |____ output_03.fastq 

Однако, когда я разбиваю входной файл и запускаю его параллельно (версия из ubuntu repo: 20141022),

 find . * | grep -P "^input_file" | parallel -j+3 obisplit -p output_{/.}_ -t variable_to_split_on {/} 

Я ожидал получить файлы

 input_file_a.fastq |____ output_input_file_a_01.fastq |____ output_input_file_a_02.fastq |____ output_input_file_a_03.fastq input_file_b.fastq |____ output_input_file_b_01.fastq |____ output_input_file_b_02.fastq |____ output_input_file_b_03.fastq input_file_c.fastq |____ output_input_file_c_01.fastq |____ output_input_file_c_02.fastq |____ output_input_file_c_03.fastq 

но вывод выводится только на консоль.

Есть ли что-то, что связано с parallel которое вызывает эту печать для консоли или может быть так, как obisplit ведет себя по какой-либо причине? Есть ли способ убедить каждое ядро, созданное parallel с печатью, в конкретный файл вместо консоли?

  • Выполнение команд consequtively по нескольким папкам
  • Использование памяти параллельного ограничения GNU
  • Безопасно ли параллельно проецировать параллельное выступление A в B
  • Параллелизация sed дает разную производительность
  • Предотвращение параллельной GNU от разделения аргументов
  • Объявление переменной параллельным sh -c ...
  • Запуск GNU-параллелизма - на панели SGE зависает
  • Запуск GNU Parallel в фоновом режиме?
  • One Solution collect form web for “почему этот параллельный процесс не записывает вывод в файлы, а вместо этого печатает на консоли?”

    Звучит так, как будто obisplit ведет себя по-другому, если выход перенаправляется.

    Вы можете запросить GNU Parallel для вывода в файлы:

     seq 10 | parallel --results output_{} echo this is input {} >/dev/null 

    (или если ваша версия старше:

     seq 10 | parallel echo this is input {} '>' output_{} 

    )

    Он будет создавать output_# , output_#.err , output_#.seq .

    Interesting Posts

    Изменение темы Zsh в Android Studio

    Могу ли я автоматически принимать условия лицензии MS SQL при установке пакета yum?

    Найдите данные о емкости и самый старый файл в формате Busybox

    Создание режима Mod + 4 Key Behave

    Скопируйте файлы с удаленного сервера на локальный, игнорируя существующие файлы (rsync недоступен)

    Какие политики SELinux применяются к haproxy?

    Неправильное использование диска на корпоративной Linux

    Как создать файлы .ko в Linux

    Как автоматически установить на исполняемый бит для определенного файла

    Как добраться до гостевого Vbox от хоста при использовании сети NAT

    Emacs не откроет файл в репозитории Bazaar

    Почему размер текущего устройства больше, чем текущий размер тома после изменения размера раздела ntfs?

    Какая часть этой конфигурации bash PS1 определяет цвет?

    Есть ли способ скачать чистую Unix?

    Выходной параметр при соединении двух матриц?

    Linux и Unix - лучшая ОС в мире.