Provided by: runit_1.4.1-1_i386 bug


       runsvdir - starts and monitors a collection of runsv(8) processes


       runsvdir [-P] dir [ log ]


       dir  must  be  a  directory.  log is a space holder for a readproctitle
       log, and must be at least seven characters long or absent.

       runsvdir starts  a  runsv(8)  process  for  each  subdirectory  in  the
       services directory dir, up to a limit of 1000 subdirectories.  runsvdir
       skips subdirectory names starting  with  dots.   runsv(8)  must  be  in
       runsvdir’s PATH.

       At  least  every  five  seconds  runsvdir  checks  whether the services
       directory dir has changed.  If it sees a new subdirectory  in  dir,  it
       starts  a  new runsv(8) process.  If it sees an old sudirectory where a
       runsv(8) process has exited, it  restarts  the  runsv(8)  process.   If
       runsvdir  sees  a subdirectory being removed that was previously there,
       it sends the  corresponding  runsv(8)  process  a  TERM  signal,  stops
       monitoring  this  process, and so does not restart the runsv(8) process
       if it exits.

       If the log argument is given to runsvdir, all output to standard  error
       is  redirected  to  this  log,  which  is  similar  to the daemontools’
       readproctitle log.  To see  the  most  recent  error  messages,  use  a
       process-listing  tool  such  as  ps(1).   runsvdir  writes a dot to the
       readproctitle log every 15 minutes so that old error messages expire.


       -P     use setsid(2) to run each runsv(8) process in a new session  and
              separate process group.


       If runsvdir receives a TERM signal, it exits with 0 immediately.

       If  runsvdir  receives  a  HUP  signal,  it sends a TERM signal to each
       runsv(8) process it is monitoring and then exits with 111.


       sv(8),  runsv(8),  runsvchdir(8),  runit(8),  runit-init(8),  chpst(8),
       svlogd(8), utmpset(8), setsid(2)


       Gerrit Pape <>