# phpman > man > runsvdir(8)

[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 subdirectories, 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 di‐
       rectory,  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' **readproctitle** 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 readprocti‐
       tle log every 15 minutes so that old error messages expire.

## OPTIONS
### -P
              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 mon‐
       itoring 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)
