GNU Shepherd 0.9.2 init системийн хувилбар

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

Shepherd нь үйлчилгээнүүдийн хоорондын хамаарлыг харгалзан үзэх, сонгосон үйлчилгээнээс хамаарах үйлчилгээг динамикаар тодорхойлж, эхлүүлэх замаар үйлчилгээг эхлүүлэх, зогсоох ажлыг гүйцэтгэдэг. Мөн Shepherd үйлчилгээ хоорондын зөрчилдөөнийг илрүүлж, зэрэг ажиллуулахаас сэргийлдэг. Төслийг үндсэн эхлүүлэх систем (PID 1-тэй эхлүүлэх), тусдаа хэлбэрээр ашиглах боломжтой бөгөөд тус тусад нь хэрэглэгчийн арын процессыг удирдах боломжтой (жишээлбэл, tor, privoxy, mcron гэх мэт) эрхтэйгээр гүйцэтгэх боломжтой. эдгээр хэрэглэгчдийн.

Өөрчлөлтүүдийн дунд:

  • Используемые в Shepherd файловые дескрипторы теперь помечаются флагом O_CLOEXEC (close-on-exec), а не закрываются сразу при выполнении «exec-command», что позволяет передавать дескрипторы сервисам, запущенным не напрямую, а при помощи «exec-command».
  • Клиентские соединения теперь обрабатываются в неблокирующем режиме, что позволяет исключить зависание shepherd при отправке неполной команды.
  • Обеспечено создание каталога для лог-файлов, определённых в настройке «log-file», в случае его отсутствия.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх