We can describe a pipeline as a sequence of processes tied together by stdout and stdin so that the output of one process becomes the input of the following one. This is a simple form of IPC, commonly known as anonymous pipe, and it is a one-way form of communicating: whatever comes from standard output of the preceding process flows into the standard input of the following one; nothing comes back from the latter to the former.
Let's see an example that will clarify the concept of anonymous pipe, staring with a simple ps command:
zarrelli:~$ ps PID TTY TIME CMD1427 pts/0 00:00:00 bash12112 pts/0 00:00:00 ps
We have a simple listing with some commands: PID, TTY, and CMD. Let's say we want to trim down the output to just PID and CMD ...