- -daemon
- After initialising, dc_server will
detach from the parent process, close standard file-descriptors,
etc. If this flag is not set, dc_server will run in the
foreground. It is recommended to use this flag in combination with
the pidfile flag to simplify stopping and restarting
services.
- -user user
- This switch will attempt to change user
privileges of dc_server to the given user ID after initialising its listening socket. On most
systems, this can only work if dc_server is started as the
root user. It is important to note that the change of user
ID occurs after the listening socket is
create. This ensures that the listening socket is created with the
most restrictive permissions, and that the ability to connect to
servers at run-time corresponds to the given user (rather than
having unusual root permissions on startup).
- -listen address
- Configures the address on which
dc_server should listen for incoming connections. The syntax
is that defined by the libnal API.
Some examples follow;
# Listen on port 9001 for all TCP/IPv4 interfaces
dc_server -listen IP:9001
# Listen on port 9001 on a specific TCP/IPv4 interface
dc_server -listen IP:192.168.0.1:9001
dc_server -listen IP:cacheserver.localnet:9001
# Listen on a unix domain socket in the /tmp directory
dc_server -listen UNIX:/tmp/cacheserver
- -sockowner user
- This switch is only useful when listening
(see -listen) on unix domain sockets. It will attempt to
change ownership of the created socket file.
- -sockgroup group
- This switch is only useful when listening
(see -listen) on unix domain sockets. It will attempt to
change group ownership of the created socket file.
- -sockperms perms
- This switch is only useful when listening
(see -listen) on unix domain sockets. It will attempt to
change file permissions for the created socket file, and is
specified in the standard octal notation used for unix file
permissions. Eg. to start dc_server to run as the nobody
user, listening on a unix domain socket that can only be connected
to by the root user or members of the dcclient group;
# dc_server -listen UNIX:/tmp/cacheserver -user nobody \
-sockgroup dcclient -sockperms 440
- -sessions num
- Specifies a maximum number of sessions
that should be stored in the cache. All sessions in a cache have an
expiry time so that they will, if they have not been forcibly
removed before that time, be expired out of the cache. If it is
desirable to allow long session timeouts under normal situations
yet protect against the session cache growing without limit periods
of high-load, this limit can provide the required balance. If the
session cache reaches this limit, it will automatically rotate out
those sessions in the cache that are due to expire soonest. It is
not (yet) possible to have no limit at all, though a future version
should support this by allowing the user to specify zero.
The default value for this flag is 512.
- -progress num
- dc_server will, by default, log a
line of output to stdout whenever there is cache activity, but will
make sure to do so no more often than once a second. If
-progress is specified, this will take precedence so that
output will be emitted whenever num operations have occurred
since the last output, irrespective of how little time has elapsed.
The once-a-second logic remains behind this, so that if less than
num operations has taken place but at least one second has
passed, output will still be logged. This flag has no effect if
-daemon is used.
- -pidfile path
- This is a standard flag for many programs,
and most useful in combination with -daemon. When
-pidfile is specified dc_server will write its
process ID to a file at the specified path
upon successful initialisation. To use this path file to later kill
the running dc_server instance, use something like (where
pidfile.pid is whatever path was);
kill `cat pidfile.pid`
- -killable
- The default behaviour of dc_server
is to silently ignore SIGUSR1 and
SIGUSR2 signals, but with this switch
enabled it will handle these signals and close down cleanly (mainly
useful for developers as an alternative to SIGKILL which is less useful for debugging memory
leaks).
- -h, -help, -?
- Any of these flags will cause
dc_server to display a brief usage summary to the console
and exit cleanly. Any other flags are ignored.