En un cambio de nivel de ejecución suele ocurrir lo siguiente. Los llamados scripts de parada del nivel actual se ejecutan — los diferentes programas que se están ejecutando en este nivel se finalizan — y los scripts de arranque del nuevo nivel se inician. En un procedimiento como este, en la mayoría de los casos se ejecutan varios programas. Para que sea más claro, veamos en un ejemplo qué ocurre si cambiamos del nivel 3 al 5:
El administrador (root) comunica al proceso
init que debe cambiar el nivel de ejecución
introduciendo init 5.
init consulta el archivo de configuración
/etc/inittab y detecta que el script
/etc/init.d/rc debe ser ejecutado con el nuevo nivel de
ejecución como parámetro.
Ahora el programa rc ejecuta todos los scripts
de parada del nivel actual para los cuales no existe un script de arranque
en el nivel nuevo. En nuestro ejemplo son todos los scripts que se
encuentran en el subdirectorio /etc/init.d/rc3.d (el último nivel de
ejecución era 3) y que comienzan con la letra K. El
número que sigue a la K asegura que se mantenga un
cierto orden en el proceso, ya que algunos programas pueden depender de
otros.
Por último se llama a los scripts de arranque del nuevo nivel de
ejecución. Estos están en nuestro ejemplo en /etc/init.d/rc5.d y comienzan con una
S. También aquí se mantiene un orden determinado, el
cual queda fijado por el número que sigue a la S.
Si cambia al mismo nivel en el que se encuentra,
init lee solamente el
/etc/inittab, comprueba el archivo buscando cambios y
en caso necesario realiza los procedimientos adecuados (por ejemplo ejecuta
un getty en otra interfaz).