stringtranslate.com

запустить его

runit — это схема управления инициализацией и службами для Unix-подобных операционных систем, которая инициализирует, контролирует и завершает процессы во всей операционной системе. Runit — это повторная реализация набора инструментов управления процессами daemontools [3] , который работает во многих операционных системах на базе Linux, а также в операционных системах BSD и Solaris. В Runit реализована возможность распараллеливания запуска системных служб, что позволяет ускорить загрузку операционной системы. [4]

При работе в качестве демона инициализации Runit является прямым или косвенным предком всех других процессов. Это первый процесс , запускаемый во время загрузки , и он продолжает работать до тех пор, пока система не выключится. Он часто используется с другими системами инициализации в качестве отдельного менеджера служб. В роли менеджера служб его могут использовать непривилегированные пользователи для управления персональными службами, а также root для управления службами, которые иначе не управляются используемой в данный момент системой инициализации.

Runit загружает Void Linux

Дизайн

Runit стремится стать небольшой, модульной и переносимой кодовой базой. Роль инициализации Runit разделена на три этапа: однократная инициализация, контроль процесса и остановка или перезагрузка. Хотя первый и третий этапы должны быть адаптированы к конкретной операционной системе, в которой они работают, второй этап можно переносить на все POSIX- совместимые операционные системы. [5] Эти 3 этапа можно настроить с помощью 3 исполняемых файлов (обычно это сценарии оболочки) с именами соответственно 1, 2 и 3.

Этап 2 обычно вызывает двоичный файл с именем runvdir, который является процессом, ответственным за глобальное управление демоном: для каждого демона, который он находит в папке, переданной ему в качестве аргумента, он затем порождает отдельный сторожевой таймер, каждый из которых запускает демон (и регистратор). служба, в конечном итоге связанная с ним) и перезапускает его, если он умирает. В случае добавления или удаления демона он убивает сторожевой таймер или запускает новый. Исполняемые файлы с определенными именами используются для описания различных этапов жизни демона (запуск, проверка, завершение и т. д.), он может перехватывать сигналы, отправляемые и запускаемые определенными сценариями, если они существуют, а именованные каналы создаются для предоставления интерфейсов. для управления демоном.

Применение

Runit можно использовать либо в качестве замены [6] для sysvinit , либо в качестве супервизора службы (с sysvinit в качестве родительского процесса PID 1, который запускает процессы, указанные в файле inittab, или в какой-либо другой системе инициализации). [7] Стек программного обеспечения RubyWorks, способный запускать Ruby on Rails , включал в свой пакет Runit. [8]

Принятие

Runit — это система инициализации по умолчанию:

Runit — это «официально» доступная система инициализации для:

Рекомендации

  1. ^ Пейп, Геррит (10 февраля 2004 г.). «Выпуск runit-1.0.0». gmane.comp.sysutils.supervision.general (список рассылки). Архивировано из оригинала 13 декабря 2013 г. Проверено 10 декабря 2013 г.
  2. ^ Пейп, Геррит (4 октября 2009 г.). "Рунит - установка". smarden.org . Проверено 10 августа 2014 г.
  3. ^ Перселл, Стив (11 ноября 2007 г.). «Сценарии инициализации считаются вредными». sanityinc.com . Проверено 12 декабря 2013 г.
  4. ^ Папе, Геррит. "рунит - преимущества" . Проверено 23 апреля 2013 г.
  5. ^ Папе, Геррит. "рунит - преимущества" . Проверено 23 апреля 2013 г.
  6. ^ Папе, Геррит. «замена инициализации» . Проверено 11 августа 2014 г.
  7. ^ Папе, Геррит. «использовать с традиционной инициализацией» . Проверено 11 августа 2014 г.
  8. ^ «Управление процессами с помощью runit». Rubyworks.rubyforge.org . Проверено 14 апреля 2014 г.
  9. ^ "ВойдЛинукс" . Проверено 28 июня 2020 г.
  10. ^ "Генту" . Проверено 8 сентября 2023 г.

Внешние ссылки