Pipeline (Unix)

Pipeline (Unix)

In Unix-like computer operating systems (and, to some extent, Microsoft Windows), a pipeline is the original software pipeline: a set of processes chained by their standard streams, so that the output of each process (stdout) feeds directly as input (stdin) to the next one. Each connection is implemented by an anonymous pipe. Filter programs are often used in this configuration.

The concept was invented by Douglas McIlroy for Unix shells and it was named by analogy to a physical pipeline.

Unix pipeline can be thought of as left associative infix operation whose operands are programs with parameters. Programatically all programs in pipeline run at the same time (in parallel), but, looking at syntax, it can be thought that one runs after another. It is a functional composition. One can be reminded of functional programming, where data is passed from one function to another (as their input or output).

Read more about Pipeline (Unix):  Pipelines in Command Line Interfaces, Creating Pipelines Programmatically, Implementation, History

Famous quotes containing the word pipeline:

    Even in the pink crib
    the somehow deficient,
    the somehow maimed,
    are thought to have
    a special pipeline to the mystical....
    Anne Sexton (1928–1974)