pipefs

pipefs [-s svname] [-m mntpoint] [-p perm] command [arg ...]

srvname default: pipefs

pipefs command
will make /srv/pipefs


pipefs pipes between two different name spaces.

Example
In name space A:
	pipefs /bin/foo
which will create /srv/pipefs

In name space B:
	mount /srv/pipefs /n/pipefs
	echo 'Hello world' > /n/pipefs/data
which will invoke "/bin/foo"
and the data "Hello world" will be read by "/bin/foo".

Why not have two I/O ends such as regular pipe?
It might be better not have two end points,
because
1. pipefs is designed for use in web service and then reading output might make a
security problem.
2. reading output of "/bin/foo" will waste time and might cause problems.

You should design "/bin/boo" to do only small tasks.

Look http://plan9.aichi-u.ac.jp/pegasus/ for more details