The Linux IPC (Inter-process communication) facilities provide a method for
multiple processes to communicate with one another. There are several
methods of IPC available to Linux C programmers:
Half-duplex UNIX pipes
FIFOs (named pipes)
SYSV style message queues
SYSV style semaphore sets
SYSV style shared memory segments
Networking sockets (Berkeley style) (not covered in this paper)
Full-duplex pipes (STREAMS pipes) (not covered in this paper)
These facilities, when used effectively, provide a solid framework for
client/server development on any UNIX system (including Linux).