The s6 command
s6-frontend
Software
skarnet.org
The s6 live command
s6 live groups actions that target the live machine state
managed by the s6-rc service manager,
hosted in the configured livedir.
Where s6 process directly targets instances
of services supervised by s6-supervision,
without knowledge of the service manager it can only address longruns. On the
other hand, s6 live targets services defined in the current live
database, oneshots as well as longruns, and will always respect the dependency
graph.
Interface
s6 live subcommand [ subcommand_options... ] [ args... ]
Subcommands
help
s6 live help prints a short help message summarizing the options
and usage of the s6 live command. It is not as detailed as this page.
status
Interface
s6 live status [ -e | -E ] [ servicenames... ]
- s6 live status servicenames... prints a line
for every s6-rc service listed in servicenames. If servicenames
is empty, then it prints a line for all the services present in the
current live database.
- Every line is: the name of the service, a slash character (/),
then up or down depending on the current state of the service.
- If the output is a terminal or you have specified --color=yes
in the generic s6 options, and s6-frontend is built with util-linux support,
then the output is pretty-printed instead of having a slash separate the name
of the service from its state.
Options
- -e, --without-essentials
- Do not list essential services, which can clutter the display with
irrelevant information and are all supposed to always be up anyway.
This is the default.
- -E, --with-essentials
- List all services, including essential ones.
start
Interface
s6 live start [ -n ] [ -t timeout ] servicenames...
- s6 live start servicenames... brings up all the services
defined in the current live database and listed by name in servicenames,
as well as their dependencies.
Options
- -n, --dry-run
- Only print what would be done; do not actually start services.
- -t timeout, --timeout=timeout
- If the whole change still hasn't completed after timeout
milliseconds, stop waiting and don't attempt to perform the remaining
transitions. By default, timeout is 0, meaning infinite: the
command can wait forever.
stop
Interface
s6 live stop [ -n ] [ -t timeout ] servicenames...
- s6 live stop servicenames... brings down all the services
defined in the current live database and listed by name in servicenames,
as well as services that depends on them.
Options
- -n, --dry-run
- Only print what would be done; do not actually stop services.
- -t timeout, --timeout=timeout
- If the whole change still hasn't completed after timeout
milliseconds, stop waiting and don't attempt to perform the remaining
transitions. By default, timeout is 0, meaning infinite: the
command can wait forever.
restart
Interface
s6 live restart [ -W | -w ] [ -t timeout ] [ servicenames... ]
- s6 live restart servicenames... first brings down all the services
defined in the current live database and listed by name in servicenames,
as well as services that depends on them; then it brings back up all the services in
servicenames.
- If extra services have been brought down because they depend on a service listed
in servicenames... but are not themselves in that list, they are not brought
back up.
Options
- -n, --dry-run
- Only print what would be done; do not actually stop or start services.
- -t timeout, --timeout=timeout
- If the whole restart still hasn't completed after timeout
milliseconds, stop waiting and don't attempt to perform the remaining
transitions. By default, timeout is 0, meaning infinite: the
command can wait forever.
start-everything
Interface
s6 live start-everything [ -n ] [ -t timeout ] [ -D bundle ]
- s6 live start-everything brings up all the services
defined in the current live database and in the default bundle, i.e.
the bundle of services that are enabled at boot time.
Options
- -n, --dry-run
- Only print what would be done; do not actually start services.
- -t timeout, --timeout=timeout
- If the whole change still hasn't completed after timeout
milliseconds, stop waiting and don't attempt to perform the remaining
transitions. By default, timeout is 0, meaning infinite: the
command can wait forever.
- -D bundle, --default-bundle=bundle
- Start the bundle of services named bundle instead.
The default is default, possibly overridden by the
--with-default-bundle build-time configure option in
s6-rc or
s6-frontend.
stop-everything
Interface
s6 live stop-everything [ -n ] [ -e | -E ] [ -t timeout ]
- s6 live stop-everything brings down all the services,
except essential services. This is not the command that can
reboot a machine; for that, check s6 system.
Options
- -n, --dry-run
- Only print what would be done; do not actually stop services.
- -e, --without-essentials
- Do not stop essential services; keep the machine in a state where
it can more or less run and be interacted with, even if in a completely
bare state. This is the default.
- -E, --with-essentials
- Also stop essential services. After this command the machine
isn't good for much except a reboot.
s6 live stop-everything -E
is the command that should be run right before a shutdown when the
system is not using s6-linux-init. To that end, the line
::shutdown:/usr/bin/s6 live stop-everything -E should be
added to /etc/inittab, if that is what the init uses.
- -t timeout, --timeout=timeout
- If the whole change still hasn't completed after timeout
milliseconds, stop waiting and don't attempt to perform the remaining
transitions. By default, timeout is 0, meaning infinite: the
command can wait forever.
install
Interface
s6 live install [ -b ] [ -K ] [ -f convfile ] [ --init ]
- s6 live install installs the current working set
of services, that has been crafted and committed via
s6 set commands, replacing the current
live service database.
- The state of services defined in the old live database is preserved as
much as possible, though services that are not defined in the new set are
stopped before the live database is replaced.
Options
- -b, --block
- Block if something is currently holding the lock on the live service
database. The default is to fail with an error message instead.
- -K, --keep-old
- Do not automatically delete the old service database after a successful switch.
Instead, print its path to stdout.
- -f convfile, --conversion-file=convfile
- Use convfile as a conversion file for the underlying
s6-rc-update
invocation. This option should
never be necessary if the services in the stores are properly managed.
- --init
-
Copy the compiled database of the current working set to the place where it
can be booted on, but do not call
s6-rc-update.
This is only useful for a first installation of s6-frontend, before
s6-rc is managing live services. This option should never be used once a reboot
has been performed and the machine is successfully running with s6-rc.