*htparser* do any daemonizing or chrooting as specified by options.
The root handler must be a persistent program as specified in
-*ashd*(7). If the handler program exits, *htparser* will exit too.
+*ashd*(7). If the handler program exits, *htparser* will exit too,
+following the procedure described below under SIGNALS.
PORT SPECIFICATION
------------------
Currently, the available 'HANDLERs' are *plain* and *ssl*, for
handling plain TCP connections and SSL/TLS-protected connections,
respectively. For details regarding the arguments that each handler
-accept, simply run *htparser* with 'HANDLER'*:help*. For example, the
-command "`htparser ssl:help`" will display help for the *ssl* handler to
-standard output and then exit.
+accepts, simply run *htparser* with 'HANDLER'*:help*. For example, the
+command "`htparser ssl:help`" will display help for the *ssl* handler
+to standard output and then exit.
The port specifications must be followed by the `--` argument to
distinguish them from the root handler specification.
Daemonize after all specified ports have been successfully
bound and the root handler has been started.
-*-u*::
+*-u* 'USER'::
Change UID to 'USER' once all specified ports have been
successfully bound and the root handler has been
started. 'USER' must be specified symbolically (i.e. not as a
numeric UID).
-*-r*::
+*-r* 'ROOT'::
Change root directory to 'ROOT' once all specified ports have
been successfully bound and the root handler has been started.
-*-p*::
+*-p* 'PIDFILE'::
After having daemonized, write the PID of the new process to
'PIDFILE'.
+SIGNALS
+-------
+
+SIGTERM, SIGINT::
+
+ Upon first reception, `htparser` closes all listening ports
+ and the socket to the root handler, but continues to serve all
+ currently ongoing requests until none remain, not keeping the
+ connections open for keep-alive. Upon second reception,
+ `htparser` shuts down completely.
+
EXAMPLES
--------