Um pouco de trabalho foi colocado no Paralelo GNU para não iniciar um novo trabalho a menos que haja dados para serem executados. Isso se deve a alguns programas que falham com dificuldade, caso não recebam nenhuma entrada. Então você estará trabalhando contra o design do GNU Parallel.
Para duplicar a entrada, você pode usar tee
e processar a substituição:
cat namedpipe_or_file | tee >(process1) >(process2) >(process3) >/dev/null
Ele iniciará process1
, process2
e process3
imediatamente. A saída pode, no entanto, ser misturada, portanto, se a saída deve ser usada, você deve redirecioná-la para arquivos diferentes:
cat namedpipe_or_file | tee >(process1 > out1) >(process2 > out2) >(process3 > out3) >/dev/null