
Cuando el proceso de inicio se ejecuta cuando el kernel se ha cargado, ¿lee el archivo /etc/inittab de arriba hacia abajo, es decir, ejecuta cada línea tal como aparece en el archivo?
Si es así y según mi lectura y comprensión, ¿significa esto que ingresa al nivel de ejecución documentado y luego inicia el proceso sysinit o viceversa?
Por ejemplo, los ejemplos comunes que he visto son
id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
Respuesta1
Primero, tenga en cuenta que el formato de inittab
es el siguiente:
Identifier:RunLevel:Action:Command
El punto clave aquí es el runlevel
. Dado el siguiente código de ejemplo:
a:3::
b:123::
c:23::
d:123::
e:23::
Entonces el orden de ejecución de los distintos ID, empezando por runlevel
1 sería:
init 1: b d
init 2: c e
init 3: a
overall: b d c e a
Como puede ver, los ejecutará en el orden en que aparecen en el archivo.agrupar por nivel de ejecución! Recuerde también que si el identificador no está en el nivel de ejecución especificado, se emitirá un SIGTERM
y luego un SIGKILL
.
Respuesta2
No es un script que se procese en ningún orden particular. Es un archivo de configuración que le dice al sistema qué script/comandos ejecutar para un evento o nivel de ejecución en particular. El orden de las entradas en el archivo no hará ninguna diferencia y puede tener varios scripts o comandos para cada nivel de ejecución.
la primera línea que muestra "id:3:initdefault:" le dice al sistema que el nivel de ejecución predeterminado es 3 => modo multiusuario para la mayoría de las versiones.
la línea "si::sysinit:..." le indica al sistema que ejecute el script /etc/rc.d/rc/sysinit al inicializar el sistema (se ejecuta cuando el sistema arranca).
Si utiliza inittab, debería obtener una lista de todas las opciones para el archivo.