В GNU Parallel была проделана небольшая работа, чтобы не запускать новое задание, если нет данных для запуска. Это связано с тем, что некоторые программы терпят неудачу, если они не получают никакого ввода. Таким образом, вы будете работать против дизайна GNU Parallel.
Для дублирования ввода вы можете использовать tee
и обработать замену:
cat namedpipe_or_file | tee >(process1) >(process2) >(process3) >/dev/null
Она начнется process1
, process2
и process3
немедленно. Вывод может, однако, быть смешанным, поэтому, если вывод должен использоваться, вы должны перенаправить его в другие файлы:
cat namedpipe_or_file | tee >(process1 > out1) >(process2 > out2) >(process3 > out3) >/dev/null