.TH svscan 8 .SH NAME svscan \- starts and monitors a collection of services .SH SYNOPSIS .B svscan [ .I directory ] .SH DESCRIPTION .B svscan starts one .BR supervise (8) process for each subdirectory of the current directory, up to a limit of 1000 subdirectories. .B svscan skips subdirectory names starting with dots. .BR supervise (8) must be in .BR svscan 's path. .B svscan optionally starts a pair of .BR supervise (8) processes, one for a subdirectory .IR s , one for .IR s\fR/\fBlog , with a pipe between them. It does this if the name .I s is at most 255 bytes long and .I s\fR/\fBlog exists. (In versions 0.70 and below, it does this if .I s is sticky.) .B svscan needs two free descriptors for each pipe. Every five seconds, .B svscan checks for subdirectories again. If it sees a new subdirectory, it starts a new .BR supervise (8) process. If it sees an old subdirectory where a .BR supervise (8) process has exited, it restarts the .BR supervise (8) process. In the .B log case it reuses the same pipe so that no data is lost. .B svscan is designed to run forever. If it has trouble creating a pipe or running .BR supervise (8), it prints a message to stderr; it will try again five seconds later. If .B svscan is given a command-line argument .IR directory , it switches to that .I directory when it starts. .SH SEE ALSO supervise(8), svc(8), svok(8), svstat(8), svscanboot(8), readproctitle(8), fghack(8), pgrphack(8), multilog(8), tai64n(8), tai64nlocal(8), setuidgid(8), envuidgid(8), envdir(8), softlimit(8), setlock(8) http://cr.yp.to/daemontools.html