.TH 9PSERVE 4 .SH NAME 9pserve \- announce and multiplex 9P service .SH SYNOPSIS .B 9pserve [ .B -lnv ] [ .B -A .I aname .I afid ] [ .B -c .I addr ] [ .B -M .I msize ] .I addr .SH DESCRIPTION On Plan 9, when a user-level file server mounts itself into a name space or posts itself in .BR /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, .I 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. .PP .I 9pserve announces a 9P service on .I addr and multiplexes any 9P clients connecting to .I addr into a single conversation with a 9P server on .IR 9pserve 's standard input and output. When a client hangs up, .I 9pserve flushes any outstanding 9P transactions and clunks any outstanding fids belonging to the client. .PP .I 9pserve is typically not invoked directly; use .MR post9pservice (3) instead. .PP The options are: .TP .B -l logging; write a debugging log to .IB addr .log \fR. .TP .B -n no authentication; respond to Tauth messages with an error (see .IR attach (9P)). .TP .B -v verbose; more verbose when repeated .TP .B -A rewrite all attach messages to use .I aname and .IR afid ; used to implement .MR srv (4) 's .B -a option .TP .B -c multiplex clients onto a single connection to .IR addr , instead of standard input and output .TP .B -M do not initialize the connection with a .B Tversion message; instead assume 9P2000 and a maximum message size of .IR msize .PD .SH "SEE ALSO .MR intro (4) , .IR intro (9p), .MR 9pfuse (4) .SH SOURCE .B \*9/src/cmd/9pserve.c