start_server - a superdaemon for hot-deploying server programs
start_server [options] -- server-prog server-arg1 server-arg2 ...
# start Plack using Starlet listening at TCP port 8000
start_server --port=8000 -- plackup -s Starlet --max-workers=100 index.psgi
This script is a frontend of Server::Starter. For more information please refer
to the documentation of the module.
TCP port to listen to (if omitted, will not bind to any ports)
If host is not specified, then the program will bind to the
default address of IPv4 ("0.0.0.0"). Square brackets should be
used to specify an IPv6 address (e.g. --port=[::1]:8080)
If fd is specified, then start_server allocates the socket at the
given number.
path at where to listen using unix socket (optional)
working directory, start_server do chdir to before exec (optional)
minimum interval to respawn the server program (default: 1)
name of the signal to be sent to the server process when start_server receives a
SIGHUP (default: SIGTERM). If you use this option, be sure to also use
"--signal-on-term" below.
name of the signal to be sent to the server process when start_server receives a
SIGTERM (default: SIGTERM)
if set, writes the process id of the start_server process to the file
if set, writes the status of the server process(es) to the file
directory that contains environment variables to the server processes. It is
intended for use with "envdir" in
"daemontools". This can be overwritten by
environment variable "ENVDIR".
if set, redirects STDOUT and STDERR to given file or command
deamonizes the server (by doing fork,setsid,fork). Must be used together with
"--log-file".
enables automatic restart by time. This can be overwritten by environment
variable "ENABLE_AUTO_RESTART".
automatic restart interval (default 360). It is used with
"--enable-auto-restart" option. This can be
overwritten by environment variable
"AUTO_RESTART_INTERVAL".
time to suspend to send a signal to the old worker. The default value is 5 when
"--enable-auto-restart" is set, 0 otherwise.
This can be overwritten by environment variable
"KILL_OLD_DELAY".
specifies a listen backlog parameter, whose default is SOMAXCONN (usually 128 on
Linux). While SOMAXCONN is enough for most loads, large backlog is required
for heavy loads.
this is a wrapper command that reads the pid of the start_server process from
--pid-file, sends SIGHUP to the process and waits until the server(s) of the
older generation(s) die by monitoring the contents of the --status-file
this is a wrapper command that reads the pid of the start_server process from
--pid-file, sends SIGTERM to the process.
prints the version number
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.