plumber man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

PLUMBER(4)							    PLUMBER(4)

       plumber - file system for interprocess messaging

       plumber [ -p plumbing ]

       The  plumber  is	 a  user-level	file  server  that receives, examines,
       rewrites, and  dispatches  plumb(6)  messages  between  programs.   Its
       behavior	   is	 programmed    by    a	  plumbing    file    (default
       /usr/$user/lib/plumbing) in the format of plumb(6).

       Its   services	are    mounted	  on	the    directory    /mnt/plumb
       (/mnt/term/mnt/plumb  on the CPU server) and consist of two pre-defined
       files, send and rules, and a set of output ports for  dispatching  mes‐
       sages to applications.  The service is also published as a srv(4) file,
       named in $plumbsrv, for mounting elsewhere.

       Programs use write (see read(2)) to deliver messages to the send	 file,
       and  read(2) to receive them from the corresponding port.  For example,
       sam(1)'s plumb menu item or the B command cause a message to be sent to
       /mnt/plumb/send; sam in turn reads from, by convention, /mnt/plumb/edit
       to receive messages about files to open.

       A copy of each message is sent to each client that has the  correspond‐
       ing port open.  If none has it open, and the rule has a plumb client or
       plumb start rule, that rule is applied.	A plumb client rule causes the
       specified  command  to  be  run and the message to be held for delivery
       when the port is opened.	 A plumb start rule runs the command but  dis‐
       cards  the  message.   If  neither start or client is specified and the
       port is not open, the  message  is  discarded  and  a  write  error  is
       returned to the sender.

       The  set of output ports is determined dynamically by the specification
       in the plumbing rules file: a port is created for each unique  destina‐
       tion of a plumb to rule.

       The  set	 of rules currently active may be examined by reading the file
       /mnt/plumb/rules; appending to this file adds new  rules	 to  the  set,
       while  creating	it (opening it with OTRUNC) clears the rule set.  Thus
       the rule set may be edited dynamically with a traditional text  editor.
       However,	 ports	are  never  deleted dynamically; if a new set of rules
       does not include a port that was defined in earlier  rules,  that  port
       will still exist (although no new messages will be delivered there).

	      default rules file

	      directory to search for files in include statements

	      mount point for plumber(4).


       plumb(1), plumb(2), plumb(6)

       Plumber's  file	name  space is fixed, so it is difficult to plumb mes‐
       sages that involve files in newly mounted services.

                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net