| 9PSERVE(4) | 9PSERVE(4)

NAME

| 9pserve – announce and multiplex 9P service

SYNOPSIS

| `9pserve` [ `−lnv` ] [ `−A` aname afid ] [ `−c` addr ] [ `−M` msize ] addr

DESCRIPTION

On Plan 9, when a user-level file server mounts itself into a name space or posts itself in `/srv`, the Plan 9 kernel multiplexes the potentially many processes accessing the server into a single 9P conversation. The user-level server need not concern itself with how many processes are accessing it or with cleaning up after a process when it exits unexpectedly. On Unix, 9pserve takes the place of the Plan 9 kernel, multiplexing clients onto a single server conversation and cleaning up after clients when they hang up unexpectedly.

9pserve announces a 9P service on addr and multiplexes any 9P clients connecting to addr into a single conversation with a 9P server on 9pserve’s standard input and output. When a client hangs up, 9pserve flushes any outstanding 9P transactions and clunks any outstanding fids belonging to the client.

9pserve is typically not invoked directly; use post9pservice(3) instead.

The options are:
`−l` logging; write a debugging log to addr`.log`.
`−n` no authentication; respond to Tauth messages with an error (see attach(9P)).
`−v` verbose; more verbose when repeated
`−A` rewrite all attach messages to use aname and afid; used to implement srv(4)’s `−a` option
`−c` multiplex clients onto a single connection to addr, instead of standard input and output
`−M` do not initialize the connection with a `Tversion` message; instead assume 9P2000 and a maximum message size of msize

SEE ALSO

| intro(4), intro(9p), 9pfuse(4)

SOURCE

| `/usr/local/plan9/src/cmd/9pserve.c`