Uruchom

Uruchom
Oryginalni autorzy Gerrit Pape
Pierwsze wydanie 10 lutego 2004 ; 19 lat temu ( 10.02.2004 )
Wersja stabilna
2.1.2 / 10 sierpnia 2014 ; 8 lat temu ( 10.08.2014 )
Napisane w C , Skorupa
System operacyjny Linux , FreeBSD , OpenBSD , NetBSD , macOS , Solaris
Typ Uruchom demona
Licencja Nowa licencja BSD
Strona internetowa smarden .org /runit /  Edit this on Wikidata

runit to schemat zarządzania inicjowaniem i usługami dla systemów operacyjnych typu Unix, który inicjuje, nadzoruje i kończy procesy w całym systemie operacyjnym. Runit to reimplementacja zestawu daemontools , który działa w wielu systemach operacyjnych opartych na systemie Linux, a także systemach operacyjnych BSD i Solaris. Runit oferuje zrównoleglenie uruchamiania usług systemowych, co może przyspieszyć czas uruchamiania systemu operacyjnego.

Działając jako demon init , Runit jest bezpośrednim lub pośrednim przodkiem wszystkich innych procesów. Jest to pierwszy proces uruchamiany podczas uruchamiania i trwa do momentu zamknięcia systemu. Jest często używany z innymi systemami init jako oddzielny menedżer usług. W roli menedżera usług może być używany przez nieuprzywilejowanych użytkowników do organizowania usług osobistych, a także przez użytkownika root do zarządzania usługami, którymi w inny sposób nie zarządza obecnie używany system init.

Runit uruchamia Void Linux

Projekt

Runit koncentruje się na byciu małą, modułową i przenośną bazą kodu. W roli początkowej Runit jest podzielony na trzy etapy: jednorazowa inicjalizacja, nadzór nad procesem oraz zatrzymanie lub ponowne uruchomienie. Podczas gdy pierwszy i trzeci etap muszą być dostosowane do konkretnego systemu operacyjnego, na którym działają, drugi etap jest przenośny we wszystkich systemach operacyjnych zgodnych z POSIX . Te 3 etapy można skonfigurować za pomocą 3 plików wykonywalnych (zwykle są to skrypty powłoki) o nazwach odpowiednio 1, 2 i 3.

Etap 2 zwykle wywołuje plik binarny o nazwie runsvdir, który jest procesem odpowiedzialnym za globalne zarządzanie demonami: dla każdego demona znalezionego w folderze przekazanym mu przez argument, następnie tworzy indywidualnego strażnika, z którego każdy uruchamia demona (i program rejestrujący usługa ostatecznie z nią powiązana) i uruchamia ją ponownie, jeśli umrze. W przypadku dodania lub usunięcia demona zabija on strażnika lub uruchamia nowy. Pliki wykonywalne o określonych nazwach są używane do opisywania różnych faz życia demona (uruchamianie, sprawdzanie, kończenie, ...), może on przechwytywać wysyłane sygnały i uruchamiać określone skrypty, jeśli takie istnieją, a nazwane potoki są tworzone w celu udostępnienia interfejsów kontrolować demona.

Stosowanie

Runit może być używany jako bezpośredni zamiennik dla sysvinit lub jako nadzorca usług (z sysvinit jako nadrzędnym procesem PID 1, który uruchamia procesy określone w pliku inittab lub innym systemem init). Pakiet oprogramowania RubyWorks, który może obsługiwać Ruby on Rails, włączył Runit do swojego pakietu.

Przyjęcie

Runit to domyślny system inicjujący:

Runit to „oficjalnie” dostępny system inicjujący dla:

Linki zewnętrzne