Service Manager S6-rc 0.7 Launch

Published release of the service manager s6-rc 0.7.0.0, designed to manage the launch of initialization scripts and services. The s6-rc toolkit supports tracking the dependency tree and automatically starting or shutting down services to reach a specified state. It can be utilized in initialization systems as well as for organizing the launch of various services in response to events reflecting changes in the system state. The system is compatible with sysv-init init scripts and can import dependency information from sysv-rc or OpenRC. Written in C language, the code is distributed under the ISC license.

The s6-rc service manager provides utilities for starting and stopping long-running processes (daemons) or immediately terminating initialization scripts. It guarantees parallel launch of non-intersecting services and ensures the repeat sequence of script execution during different launches. All state changes are processed considering dependencies, ensuring that when a service is started, the necessary dependencies for its operation are also launched automatically, and when stopped, dependent services are also halted.

Unlike other service managers, s6-rc supports proactive construction of a dependency graph for an existing set of services in offline mode. This feature allows resource-intensive dependency analysis to be performed separately, not during loading or state changes. The system is modular, following the Unix philosophy, with separate and replaceable modules that handle specific tasks only. The project emphasizes minimalism and resource efficiency.

Instead of runlevels, s6-rc introduces the concept of bundles to group services based on characteristics and tasks. A compiled dependency database is used for work efficiency, created by the s6-rc-compile utility from directories with service start/stop files. Utilities such as s6-rc-db and s6-rc-update assist in parsing and manipulating the database.

The s6-rc project is developing additional packages to complement its functionality:

  • s6 – utilities for monitoring and managing processes, with features like process restarting after abnormal termination, network port handler activation, event logging, and controlled privilege granting.

/Reports, release notes, official announcements.