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