# phpman > info > runsvdir

[runsvdir(8)](https://www.chedong.com/phpMan.php/man/runsvdir/8/markdown)                 System Manager's Manual                [runsvdir(8)](https://www.chedong.com/phpMan.php/man/runsvdir/8/markdown)

NAME
       runsvdir - starts and monitors a collection of [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) processes

SYNOPSIS
       runsvdir [-P] dir [ log ]

DESCRIPTION
       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)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) process for each subdirectory, or symlink to
       a  directory, in the services directory dir, up to a limit of 1000 sub-
       directories,  and  restarts  a  [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown)  process  if  it   terminates.
       runsvdir skips subdirectory names starting with dots.  [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) must be
       in runsvdir's PATH.

       At least every five seconds runsvdir checks whether the  time  of  last
       modification,  the  inode, or the device, of the services directory dir
       has changed.  If so, it re-scans the service directory, and if it  sees
       a  new subdirectory, or new symlink to a directory, in dir, it starts a
       new [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) process; if runsvdir sees  a  subdirectory  being  removed
       that  was previously there, it sends the corresponding [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) process
       a TERM signal, stops monitoring this process, and so does  not  restart
       the [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) 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'  read-
       proctitle  log.   To see the most recent error messages, use a process-
       listing tool such as [ps(1)](https://www.chedong.com/phpMan.php/man/ps/1/markdown).  runsvdir writes a dot to the readproctitle
       log every 15 minutes so that old error messages expire.

OPTIONS
       -P     use  [setsid(2)](https://www.chedong.com/phpMan.php/man/setsid/2/markdown) to run each [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) process in a new session and
              separate process group.

SIGNALS
       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)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown) process it is monitoring and then exits with 111.

SEE ALSO
       [sv(8)](https://www.chedong.com/phpMan.php/man/sv/8/markdown),  [runsv(8)](https://www.chedong.com/phpMan.php/man/runsv/8/markdown),  [runsvchdir(8)](https://www.chedong.com/phpMan.php/man/runsvchdir/8/markdown),  [runit(8)](https://www.chedong.com/phpMan.php/man/runit/8/markdown),  [runit-init(8)](https://www.chedong.com/phpMan.php/man/runit-init/8/markdown),  [chpst(8)](https://www.chedong.com/phpMan.php/man/chpst/8/markdown),
       [svlogd(8)](https://www.chedong.com/phpMan.php/man/svlogd/8/markdown), [utmpset(8)](https://www.chedong.com/phpMan.php/man/utmpset/8/markdown), [setsid(2)](https://www.chedong.com/phpMan.php/man/setsid/2/markdown)

       <http://smarden.org/runit/>

AUTHOR
       Gerrit Pape <<pape@smarden.org>>

                                                                   [runsvdir(8)](https://www.chedong.com/phpMan.php/man/runsvdir/8/markdown)
