Pipeline (Unix)

A pipeline of three program processes run on a text terminal

Mechanism for inter-process communication using message passing.

- Pipeline (Unix)

104 related topics

Relevance

Unix philosophy

Set of cultural norms and philosophical approaches to minimalist, modular software development.

Ken Thompson and Dennis Ritchie, key proponents of the Unix philosophy
Rob Pike, co-author of The UNIX Programming Environment
Brian Kernighan has written at length about the Unix philosophy
Doug McIlroy (left) with Dennis Ritchie

McIlroy, then head of the Bell Labs Computing Sciences Research Center, and inventor of the Unix pipe, summarized the Unix philosophy as follows:

Anonymous pipe

Anonymous pipe is a simplex FIFO communication channel that may be used for one-way interprocess communication .

Charles Babbage, sometimes referred to as the "father of computing".

Pipelines are supported in most popular operating systems, from Unix and DOS onwards, and are created using the " " character in many shells.

Netcat

Computer networking utility for reading from and writing to network connections using TCP or UDP.

The netcat command

That is because pipes are unidirectional.

Command substitution

Facility that allows a command to be run and its output to be pasted back on the command line as arguments to another command.

Computer simulation, one of the main cross-computing methodologies.

Shells typically implement command substitution by creating a child process to run the first command with its standard output piped back to the shell, which reads that output, parsing it into words separated by whitespace.

Sort (Unix)

Standard command line program of Unix and Unix-like operating systems, that prints the lines of its input or concatenation of all files listed in its argument list in sorted order.

The sort command

By Version 4 Thompson had modified it to use pipes, but sort retained an option to name the output file because it was used to sort a file in place.

Less (Unix)

Terminal pager program on Unix, Windows, and Unix-like systems used to view the contents of a text file one screen at a time.

output in an x-terminal

If the file name argument is omitted, it displays the contents from standard input (usually the output of another command through a pipe).

Return statement

In computer programming, a return statement causes execution to leave the current subroutine and resume at the point in the code immediately after the instruction which called the subroutine, known as its return address.

Ada Lovelace, whose notes added to the end of Luigi Menabrea's paper included the first algorithm designed for processing by an Analytical Engine. She is often recognized as history's first computer programmer.

In Windows PowerShell all evaluated expressions which are not captured (e.g., assigned to a variable, cast to void or piped to $null) are returned from the subroutine as elements in an array, or as a single object in the case that only one object has not been captured.

Signal (IPC)

Signals are standardized messages sent to a running program to trigger specific behavior, such as quitting or error handling.

Lovelace's description from Note G.

For example, SIGPIPE will be generated when a process writes to a pipe which has been closed by the reader; by default, this causes the process to terminate, which is convenient when constructing shell pipelines.

Burroughs MCP

Operating system of the Burroughs small, medium and large systems, including the Unisys Clearpath/MCP systems.

OS/360 was used on most IBM mainframe computers beginning in 1966, including computers used by the Apollo program.

They are like Unix pipes, except that they are generalized to be multiway and bidirectional.

Netpbm

Open-source package of graphics programs and a programming library.

Example (magnified)
Image (magnified)

This is more commonly done as a pipeline, to save execution time and to avoid leaving a temporary somepic.ppm file around: