Plumber (program)
This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (August 2015) |
This article relies too much on references to primary sources. (August 2015) |
The plumber, in the Plan 9 from Bell Labs and Inferno operating systems, is a mechanism for reliable uni- or multicast inter-process communication of formatted textual messages. It uses the Plan 9 network file protocol, 9P, rather than a special-purpose IPC mechanism.
Any number of clients may listen on a named port (a file) for messages. Ports and port routing are defined by plumbing rules. These rules are dynamic. Each listening program receives a copy of matching messages. For example, if the data /sys/lib/plumb/basic is plumbed with the standard rules, it is sent to the edit port. The port will write a copy of the message to each listener. In this case, all running editors will interpret this message as a file name, and open the file.
The plumber is the 9P file server that provides this service. Clients may use libplumb to format messages. Since the messages are 9P, they are network transparent.
See also[]
- Pipeline (software)
External links[]
- Plan 9 Programmer's Manual, Volume 1 –
- Plan 9 Programmer's Manual, Volume 1 –
- Plan 9 Programmer's Manual, Volume 1 –
- Plan 9 Programmer's Manual, Volume 1 –
- "Plumbing and Other Utilities" by Rob Pike
- A port of plumber to Unix-like operating systems
- Plumbing extension for urxvt
- Plan 9 from Bell Labs
- Inferno (operating system)
- Free special-purpose file systems
- Software type stubs