Communicating between processes using pipes

In this recipe, we will learn how to write data into a pipe from its writing end and then how to read that data from its reading end. This can happen in two ways:

Before we begin with the recipes, let's quickly review the functions, structures, and terms that are used in successful interprocess communication.