[manual index][section index]

NAME

srv - start services

SYNOPSIS

lib/srv [ -n nsfile ] [ -v ] [ -s ]

DESCRIPTION

Srv starts listeners for local network services. It is now considered obsolete: see svc(8), which replaces it using sh(1) and listen(1).

If the file /services/namespace exists, srv builds a new name space using newns(2). The -n option may be used to supply a different file. Srv then starts a listener for each service configured in /services/server/config.

The configuration file is a text file. Empty lines and lines beginning # are comments, and ignored. Each non-comment line has at least four fields: the server type, the service name, the network name on which to announce the service (typically tcp or udp), and the path name of the service command (module). Any further arguments are passed as arguments to that command.

Normally the server type field contains the letter S, and srv announces the service on the network itself, listens for incoming calls, and on each call invokes the command with any arguments given. The standard input and output of the command are set to refer to the network connection. If the server type field contains the letter M, however, srv starts the given command once during its own initialisation, and leaves the server to announce and manage its incoming calls. This is typically used to start self-contained services such as bootp and tftpd. The diagnostics from all servers will appear on the standard error of srv itself.

For example, the default configuration file includes the following lines:

S infsigner       tcp /dis/auth/signer.dis 
S infcsigner      tcp /dis/auth/countersigner.dis
S inflogin        tcp /dis/auth/logind.dis         
S styx            tcp /dis/lib/styxd.dis none clear sha md5 rc4 sha/rc4 md5/rc4
S rstyx           tcp /dis/lib/rstyxd.dis none clear sha md5 rc4 sha/rc4 md5/rc4
S infdb           tcp /dis/lib/dbsrv.dis  none clear sha md5 rc4 sha/rc4 md5/rc4
S virgil          udp /dis/lib/virgild.dis

The arguments to rstyxd and stxyd (see rstyxd(8)), and dbsrv(7) should list the security algorithms supported by the server's ssl(3).

FILES

/services/namespace
/services/server/config

SOURCE

/appl/lib/srv.b

SEE ALSO

listen(1), services(6), cs(8), dbsrv(7), rstyxd(8), svc(8)

BUGS

Each service should arguably start in a minimal name space.

srv(1) Rev:  Tue Jan 29 13:11:52 GMT 2008