Выпуск системы инициализации GNU Shepherd 0.8

21 апреля 2020 года

Доступен сервисный менеджер GNU Shepherd 0.8 ( бывший dmd), который развивается разработчиками дистрибутива GNU Guix System в качестве поддерживающей зависимости альтернативы системе инициализации SysV-init. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов. Shepherd уже применяется в дистрибутиве GuixSD GNU/Linux и нацелен также на использование в GNU/Hurd, но может работать в любой POSIX-совместимой ОС, для которой доступен язык Guile.

Shepherd может использоваться как в роли основной системы инициализации (init c PID 1), так и в обособленном виде для управления фоновыми процессами отдельных пользователей (например, для запуска tor, privoxy, mcron и т.п.) с выполнением с правами данных пользователей. Shepherd выполняет работу по запуску и остановке сервисов, учитывая взаимосвязь между сервисами, динамически определяя и запуская сервисы, от которых зависит выбранный сервис. Shepherd также поддерживает определение конфликтов между сервисами и предотвращает их одновременное выполнение.

Основные новшества:

  • В make-kill-destructor реализовано убивание группы процессов;
  • Добавлен параметр "default-pid-file-timeout", определяющий время ожидания создания PID-файла;
  • Если PID-файл не появился в течение таймаута обеспечено завершение всей группы процессов (решает проблему с оставлением рабочих процессов без PID-файла);
  • В "make-forkexec-constructor" добавлен параметр "#:file-creation-mask", реализовано создание лог-файлов и прекращена поддержка старого соглашения о вызовах;
  • Решены проблемы с компиляцией на системах без prctl, таких как GNU/Hurd;
  • Устранена недоработка, приводившая к отправке SIGALRM каждую секунду.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск системы инициализации GNU Shepherd 0.8», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.