# 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)
