Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
svscan(8)		     System Manager's Manual		       svscan(8)

NAME
     svscan - starts and monitors a collection of services

SYNOPSIS
     svscan [ directory ] [ log-service ]

DESCRIPTION
     svscan starts one supervise(8) process for each subdirectory of the current
     directory, up to a limit of 1000 subdirectories.  svscan skips subdirectory
     names starting with dots.	supervise(8) must be in svscan's path.

     svscan optionally starts a pair of supervise(8) processes, one for a subdi-
     rectory  s,  one  for  s/log, with a pipe between them. It does this if the
     name s is at most 255 bytes long and s/log exists and is a  directory.  (In
     versions  0.70  and  below, it does this if s is sticky.)	svscan needs two
     free descriptors for each pipe.

     If log-service is specified  and  the  named  subdirectory  exists,  svscan
     starts  the  service found there and redirects its output through it.  This
     service is started before any other.

     Every five seconds, svscan checks for subdirectories again. If  it  sees  a
     new  subdirectory,  it starts a new supervise(8) process. If it sees an old
     subdirectory where a supervise(8) process has exited, it restarts	the  su-
     pervise(8) process. In the log case it reuses the same pipe so that no data
     is lost.

     svscan  is  designed  to  run forever. If it has trouble creating a pipe or
     running supervise(8), it prints a message to stderr; it will try again five
     seconds later.

     If svscan is given a command-line argument directory, it switches	to  that
     directory when it starts.

     If  svscan  receives  a  TERM  signal, it sends TERM signals to all non-log
     child supervise(8) processes and the five second service scan is reduced to
     one second. New services are ignored and if a running  supervise(8)  stops,
     it  is  not  restarted. As each existing supervise(8) exits, svscan sends a
     TERM signal to the corresponding log supervise(8), if one exists. After all
     child processes exit, svscan exits.

SEE ALSO
     envdir(8), envini(8), envuidgid(8),  fghack(8),  multilog(8),  pgrphack(8),
     readproctitle(8),	setlock(8),  setuidgid(8), setuser(8), softlimit(8), su-
     pervise(8), svc(8), svok(8), svscanboot(8), svstat(8), tai64n(8), tai64nlo-
     cal(8)

								       svscan(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=svscan&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help