A producer sends stdout through a finite byte pipe to a concurrent consumer’s stdin. Its stderr branches separately to a terminal. Program buffering may still delay when bytes enter the pipe.

Shell pipes stream between processes

A shell pipeline connects one command’s standard output to the next command’s standard input. The commands can run concurrently, so the producer need not finish before the consumer starts. This supports incremental processing, but the pipe itself does not guarantee that either program processes data incrementally. Buffering, early termination, and the status of each stage determine whether the complete operation does what you intended. ...

September 28, 2027 · 5 min · XB Field Notes