Chapter 17. Advanced IPC

Introduction

In the previous two chapters, we discussed various forms of IPC, including pipes and sockets. In this chapter, we look at two advanced forms of IPC—STREAMS-based pipes and UNIX domain sockets—and what we can do with them. With these forms of IPC, we can pass open file descriptors between processes, servers can associate names with their file descriptors, and clients can use these names to rendezvous with the servers. We’ll also see how the operating system provides a unique IPC channel per client. Many of the ideas that form the basis for the techniques described in this chapter come from the paper by Presotto and Ritchie [1990].

STREAMS-Based Pipes

A STREAMS-based pipe (“STREAMS pipe,” for short) is a bidirectional ...

Get Advanced Programming in the UNIX® Environment: Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.