Mam sobie potok danych generowany przez jakieś instrukcje - ot find -type f /katalog.
Normalnie można uruchomić aplikację która jako stdin dostanie potok i go obrobić, np find /katalog |xargs gzip -k.
Chciałbym jednak na tym potoku uruchomić kilka(n) niezależnych programów - z których każdy byłby w stanie sczytywać np. po linijce z wejścia (na zasadzie - jak chce to czyta linijkę, i wtedy inny program już tej linijki nie dostanie - programy mają różną prędkość przetwarzania danych, więc round-robin odpada - dochodziło by do zagłodzenia szybszych programów przez najwolniejszy).
Ma ktoś pomysł jak coś takiego zrealizować?
Idealnie jeszcze jakby można było dynamicznie manipulować ilością równolegle uruchamianych programów.