Release of GNU Shepherd initialization system 0.6

Introduced service manager GNU Shepherd 0.6 (former dmd), developed by the developers of the GuixSD GNU/Linux distribution as a supporting dependency alternative to the SysV-init initialization system. The managing daemon and utilities of Shepherd are written in Guile (one of the implementations of the Scheme language), which is also used to define configuration and startup parameters for services. Shepherd is already used in the GuixSD GNU/Linux distribution and is also aimed at use in GNU/Hurd, but it can run on any POSIX-compatible OS where Guile is available.

Shepherd can be used both as the main initialization system (init with PID 1) and in a standalone mode to manage background processes of individual users (for example, to launch tor, privoxy, mcron, etc.) executing with the rights of those users. Shepherd handles the starting and stopping of services, taking into account the interdependencies between services, dynamically determining and launching the services that the chosen service depends on. Shepherd also supports defining conflicts between services and prevents them from running simultaneously.

Key innovations:

  • Added service operation mode one-shot,
    in which the service is marked as stopped immediately after a successful start, which may be necessary for launching one-time tasks before other services, such as for cleanup or initialization;
  • Ensured deletion of socket files after work completion
    shepherd;
  • The 'herd stop' command now does not produce an error when executed on an already stopped service;
  • The herd utility now returns a non-zero exit code in case of failure to start a task;
  • In case of running in a container, loading-related errors are ignored.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster