Man Linux: Main Page and Category List


       mathopd - Advanced Hypertext Tranfer Protocol Server


       mathopd [ -ndtv ] [ -f config_file ]


       -n     If  this  option  is  supplied,  Mathopd continues to run in the
              foreground after initialization. This is  useful  for  debugging

       -d     If this option is supplied, Mathopd starts up in debugging mode.
              Debugging can be turned on and off while the server is  running;
              see the section on signals below.

       -t     If  this  option  is supplied, Mathopd will write diagnostics to
              the standard error channel as well as the error log.  The option
              is named after the tee(1) program.

       -v     If  this  option  is supplied, Mathopd prints its version number
              and exits.

       -f config_file

              Use the configuration file specified by config_file. If  the  -f
              option  is  not  used, Mathopd expects a configuration file from
              standard input. This is mainly for historic reasons; there is no
              reason  why  one  should  not  use  the -f flag. mathopd.conf(5)
              describes the syntax of the mathopd configuration file.


       While the server is running, is reacts to certain signals. If a PIDFile
       is specified in the configuration file, you can send signals to Mathopd
       using something like

          # kill -<signal> ‘cat /var/run/‘

       from the command line, assuming the PIDFile is /var/run/

       A list of signals and their effects follows.

       SIGHUP If this signal is received, Mathopd will reopen its  access  and
              error log files. See the section on log files below.

              These   signals   have  identical  effects:  they  stop  Mathopd
              immediately, that is, all connections are closed and all  server
              sockets as well. Note that the fact that SIGINT stops the server
              means that you can stop Mathopd by pressing Ctrl‐C (or  whatever
              key  has  the  interrupt function) if it was started with the -n

              This signal toggles the debugging flag: if debugging was  turned
              off  before this signal was sent, it will be turned on, and vice

              This signal disconnects all clients, if any from the server. New
              connections can still be made after this.

              This  signal  closes  the  server socket(s). No more connections
              will be received after this. Requests that  are  active  at  the
              time  of the signal will be completed. After all active requests
              are timed out or done, Mathopd will exit. Use this signal for  a
              ’graceful exit’.


       Mathopd  will  exit  voluntarily  (as  opposed  to  crash  :) for a few

          -   after reception of a SIGTERM or SIGINT signal

          -   when no active connections and no active  servers  remain;  this
              will be the case some time after delivery of SIGUSR2, or (rather
              perversely) if Mathopd was started up with a configuration  file
              that did not contain any Server keywords

          -   if  it  cannot open the Log, ErrorLog, or PIDFile; this can only
              be the case when the server is started up; if Mathopd  fails  to
              open  a logfile while it is running, it will continue to use the
              logfile that it already opened (see below)

          -   when it can not write to the access or error log;  for  example,
              if the disk partition that contains the access or error log gets
              filled up, Mathopd will die when it tries to write there.


       Each hour Mathopd will re‐open its access and error log, as if  it  had
       received  a  SIGHUP  signal.  For example, if you have the following in
       your configuration file

          Log /var/mathopd/accesslog
          ErrorLog /var/mathopd/errorlog

       and  rename   /var/mathopd/accesslog   to   /var/mathopd/accesslog.old,
       Mathopd  will  continue  to  log  in  accesslog.old, but will switch to
       accesslog at the start of the next hour (with one exception: if Mathopd
       cannot open a new accesslog for any reason, it will *still* continue to
       log to accesslog.old.) Something similar applies to the ErrorLog.

       There are two exceptions to the above: if the value of Log or  ErrorLog
       is  either  "/dev/stdout"  or  "/dev/stderr",  then the log will not be
       rotated: mathopd will not try to re‐open these files.  This is  because
       /dev/stdout  and  /dev/stderr  will be gone once the server has started

       The  name  of  the  Log,  ErrorLog  and  ChildLog  will  be  ’strftime‐
       expanded’.  This  means  that  any occurrence of, say, ’%Y’ in the name
       will be expanded to the current (4‐digit) year.

       For example: suppose the configuration file reads as follows

          Log /var/mathopd/log.%Y%m%d

       In that case, Mathopd will open /var/mathopd/log.20031204  when  it  is
       started  up  on  4 Dec 2003, and will automatically close that file and
       open /var/mathopd/log.20031205 at the start of the next day.

       For more information on the % constructions, see the manual  pages  for
       date(1) and strftime(3).


       Mathopd was written and is copyright by Michiel Boland.

       Man page contributed by Juergen Daubert.



                                 Jan 06, 2004                       mathopd(8)