runit es un esquema de inicio para sistemas operativos similares a Unix que inicializa, supervisa y finaliza procesos en todo el sistema operativo. Runit es una reimplementación del kit de herramientas de supervisión de procesos daemontools [3] que se ejecuta en muchos sistemas operativos basados en Linux, así como en los sistemas operativos macOS, * BSD y Solaris. Runit presenta la paralelización del inicio de los servicios del sistema, lo que puede acelerar el tiempo de inicio del sistema operativo. [4]
Autor (es) original (es) | Gerrit Pape |
---|---|
Versión inicial | 10 de febrero de 2004 [1] |
Lanzamiento estable | 2.1.2 / 10 de agosto de 2014 [2] |
Escrito en | C , concha |
Sistema operativo | Linux , BSD , macOS , Solaris |
Tipo | Demonio de inicialización |
Licencia | Nueva licencia BSD |
Sitio web | smarden |
Runit es un demonio init , por lo que es el antepasado directo o indirecto de todos los demás procesos. Es el primer proceso que se inicia durante el arranque y continúa ejecutándose hasta que se apaga el sistema.
Diseño
Runit se centra en ser una base de código pequeña, modular y portátil . Runit se divide en tres etapas: inicialización única, supervisión del proceso y detención o reinicio. Si bien la primera y la tercera etapa deben adaptarse al sistema operativo específico en el que se ejecutan, la segunda etapa es portátil en todos los sistemas operativos compatibles con POSIX . [5] Las 3 etapas se pueden configurar a través de 3 archivos ejecutables (generalmente son scripts de shell) denominados, respectivamente, 1, 2 y 3.
La etapa 2 usualmente invoca un binario llamado runvdir, que es el proceso responsable de la administración global del demonio: por cada demonio que encuentra en una carpeta que se le pasa por argumento, luego genera un perro guardián individual, cada uno de ellos inicia un demonio (y un registrador eventualmente asociado a él) y lo reinicia si muere. En caso de que se agregue o elimine un demonio, mata al perro guardián o inicia uno nuevo. Los archivos ejecutables con nombres específicos se utilizan para describir las diversas fases de la vida del demonio (ejecutar, verificar, finalizar, ...), puede interceptar señales enviadas y ejecutar scripts específicos si existen, y se crean canalizaciones con nombre para exponer interfaces a controlar el demonio.
Uso
Runit puede usarse como un reemplazo directo [6] para sysvinit , o como supervisor de servicio con sysvinit como el proceso padre PID1 que ejecuta los procesos especificados por el archivo inittab. [7] La pila de software RubyWorks capaz de ejecutar Ruby on Rails incorporó Runit en su suite. [8]
Adopción
Runit es el sistema de inicio predeterminado de:
- Vacío [9]
- Dragora GNU / Linux-Libre (desde Dragora 2)
- Project Trident (desde la versión 20.02)
- Artix Linux (basado en Arch)
- antiX (basado en Debian, desde la versión 19)
- Devuan (basado en Debian, desde la versión 3.1.0)
- Venom Linux [10]
Referencias
- ↑ Pape, Gerrit (10 de febrero de 2004). "lanzamiento de runit-1.0.0" . gmane.comp.sysutils.supervision.general (lista de correo) . Consultado el 10 de diciembre de 2013 .
- ^ Pape, Gerrit (4 de octubre de 2009). "runit - instalación" . smarden.org . Consultado el 10 de agosto de 2014 .
- ^ Purcell, Steve (11 de noviembre de 2007). "Secuencias de comandos de inicio consideradas nocivas" . sanityinc.com . Consultado el 12 de diciembre de 2013 .
- ^ Pape, Gerrit. "runit - beneficios" . Consultado el 23 de abril de 2013 .
- ^ Pape, Gerrit. "runit - beneficios" . Consultado el 23 de abril de 2013 .
- ^ Pape, Gerrit. "reemplazando init" . Consultado el 11 de agosto de 2014 .
- ^ Pape, Gerrit. "utilizar con init tradicional" . Consultado el 11 de agosto de 2014 .
- ^ "Gestión de procesos con runit" . rubyworks.rubyforge.org . Consultado el 14 de abril de 2014 .
- ^ "VoidLinux" . Consultado el 28 de junio de 2020 .
- ^ https://twitter.com/venomlinux/status/1246023363136380929
enlaces externos
- ejecutarlo
- https://github.com/madscientist42/runit