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, or
symlink to a directory, in the services directory
dir, up to a limit of
1000 subdirectories, and restarts a
runsv(8) process if it terminates.
runsvdir skips subdirectory names starting with dots.
runsv(8)
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) 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)
http://smarden.org/runit/
Gerrit Pape <
[email protected]>