Вероятно, вы можете сделать это с обычными файлами, если вам вообще не нужен параллелизм. Принцип для именованных труб тот же
+ Изменить
foo | \ bar | \ baz
к
foo > foo.out bar < foo.out > bar.out baz < bar.out
Если * .out являются именованными каналами, я подозреваю, что программы, которые пишут в них, могут быть заблокированы в ожидании очистки их выходных буферов.