Pipemill (walcownia) W najpowszechniej używanych prostych potokach powłoka łączy serię podprocesów poprzez potok i wykonuje zewnętrzne komendy w obrębie każdego podprocesu. W efekcie powłoka sama w sobie nie wykonuje żadnego bezpośredniego przetwarzania danych wpływających poprzez potok. Jednakże powłoka może wykonać przetwarzanie bezpośrednio. Konstrukt ten, ogólnie rzecz biorąc, wygląda mniej więcej następująco:

command | while read var1 var2 ...; do # przetwórz każdą linię, używając zmiennych parsowanych do $var1, $var2, etc # (zauważ że to jest podpowłoka: var1, var2 etc nie będą dostępne # po zakończeniu pętli) done

...co jest nazywane z angielskiego „pipemill” (walcownia).

Implementacja W większości systemów uniksowych, wszystkie procesy potoku są rozpoczynane jednocześnie, z ich strumieniami odpowiednio połączonymi i zarządzanymi przez algorytm szeregowania wraz z innymi procesami uruchomionymi na maszynie. Istotnym aspektem, odróżniającym potoki uniksowe od innych, jest koncept buforowania: program wysyłający może wyprodukować do 5000 bajtów na sekundę, a program odbierający może ich przyjąć jedynie 100 na sekundę, jednak żadne dane nie giną. Zamiast tego, strumień wyjściowy programu wysyłającego jest trzymany w kolejce.