s6 and s6-rc Init

Created on 2021-01-30T20:02:47-06:00

Return to the Index

This card pertains to a resource available on the internet.

This card can also be read via Gemini.

the difference between runit or s6 and using s6-rc is orchestration. a dependency database is used to track which services depend on others, so they can be started in parallel more efficiently.

s6-svscan: runs against a directory of service directories and starts subordinate s6-supervise processes

s6-supervise: runs against a service directory by spawning run, then eventually spawning finish when run dies.

s6-rc is based on a service database. you have to compile the database from a service directory and then activate it by launching s6-rc-init.

calls to s6-rc itself to change the set of running services looks at this database to determine which other services should be started or stopped.

s6-rc-compile: scans service directories and compiles a database

s6-rc-update: replaces the service database with a new one without rebooting