The s6 command is a run-time high-level command line interface for system administrators, providing them with an easy syntax to run common administrative tasks under the s6 init system.
This document serves as a manual page for s6.
Table of contents
Design principles
The s6 command translates high-level concepts formulated by the user, e.g. "start service foobar", into the series of low-level s6-linux-init, s6-supervision or s6-rc command lines that will implement the user's request. Consequently, it is more of a meta-command than a command: depending on the argument it reads, it can have wildly different behaviours.
A few preliminary examples:
- s6 config update requires s6-frontend to build and apply a whole new configuration based on its service files. This implies calls to s6-frontend binaries and s6-rc binaries, at the very least. This is a heavy operation.
- s6 service foobar restart, on the other hand, only requires sending a signal to the foobar daemon, and translates directly to the s6-svc -r /run/service/foobar command from s6-supervision. But as you can see, the s6 command embeds some policy that s6-svc does not: it knows that the system scan directory is /run/service by default, and doesn't require the user to type it.
The s6 command has not been designed yet; this page will become more filled when the s6-frontend project is being worked on, after the s6-rc project is complete.
Synopsis
Description
Options
Exit codes
Notes