s6
Software
www.skarnet.org

The s6-svscanboot program

s6-svscanboot starts a supervision tree, spearheaded by s6-svscan, while logging its own output, as well as the output of the tree's s6-supervise processes, into a catch-all logger that it itself supervises.

In other words, it starts a self-sufficient, self-contained supervision tree, that does not leak logs &emdash; apart from exceptionally rare error messages from the catch-all logger itself.

s6-svscanboot is meant to be used when an external service manager needs to start an s6 supervision tree. It prevents the supervision tree's logs from either flooding the upper service manager or being lost entirely.

Interface

     s6-svscanboot [ -c devconsole ] [ -D catchalldir ] [ -m catchallmode ] [ -l catchalluser ] [ -o catchalloptions ] [ -d notif ] [ -X consoleholder ] [ -C services_max ] [ -L name_max ] [ -t rescan ] scandir

Exit codes

100
Wrong usage
111
System call failure

On success, s6-svscanboot does not exit, but execs into s6-svscan instead, which is supposed to remain running until the administrator decides to stop it or the machine shuts down.

Options

-c console, --console=console
Send the catch-all logger's error messages to device console. These will be the only error messages from the supervision tree that will not go into the catch-all logger. By default, this device is whatever s6-svscanboot stderr points to at invocation time.
-D dir, --catchall-directory=dir
The directory where the s6-log catch-all will write and rotate the supervision tree's logs. Default is /run/uncaught-logs.
-m mode, --catchall-mode=mode
What permissions the catch-all directory shall have. Default is 02750.
-l user, --catchall-user=user
What user the catch-all logger shall run as. Default is the same user as the supervision tree, i.e. the user that launched s6-svscanboot. This option should only be used by root.
-o options, --catchall-options=options
What control and selection directives the s6-log program shall use for logging its input. Directives should be separated by spaces. The options string will appear verbatim in the scandir/s6-svscan-log/run script, so caution should be used when using this option. Default is t.
-d notif, --notification-fd=notif
Notify file descriptor notif when s6-svscan is ready. This option is passed directly to s6-svscan.
-C services_max, --services-max=services_max
Maintain services for up to services_max service directories, including loggers. This option is passed directly to s6-svscan.
-L name_max, --name-max=name_max
The maximum length of a name in the scan directory. This option is passed directly to s6-svscan.
-t rescan, --timeout=rescan
Perform a scan every rescan milliseconds. This option is passed directly to s6-svscan.

Notes