published service manager Gnu Shepherd 0.9.2 ( former DMD ), which It develops by the developers of the GNU GUIX System distribution as an alternative to the SYSV-In-INIT initialization system that supports dependence. The managing demon and utility of Shepherd are written in the Guile (one of the Scheme language), which is also used to determine the settings and parameters of services. Shepherd is already used in the GUIXSD GNU/Linux distribution and is also aimed at using GNU/Hurd, but can work in any POSIX-compatible OS for which the Guile language is available. services, dynamically defining and launching services on which the selected service depends. Shepherd also supports the definition of conflicts between services and prevents their simultaneous implementation. The project can be used both as the main initialization system (init CID 1) and in separate form for controlling the background processes of individual users (for example, for launching Tor, Privoxy, Mcron, etc.) with execution with user data rights.
Among the changes:
- used in
Shepherd File descriptors are now marked by the flag O_CLOEXEC (Close-on-Exec), and not closed immediately when exec-command is performed, which allows you to transmit descriptors to services not directly, but using Exec-Comand. - Client compounds are now processed in non -closing mode, which allows to exclude the freezing of Shepherd when sending an incomplete command.
- ensures the creation of a catalog for log files determined in the setting “Log-File”, in the absence of it.
.