Sim, o SysVinit vai direto para o nível de execução escolhido na inicialização, sem consultar os scripts em outros níveis. Você pode visualizar o histórico de runlevel usando o comando runlevel
. Na primeira inicialização, ele mostrará o nível de execução "anterior" como 'N'. Após uma mudança de nível de execução, ele mostrará o nível de execução anterior e atual.
Ao alternar o nível de execução, ele primeiro observa a diferença entre eles. Quaisquer serviços listados no nível atual, mas não no novo, são primeiramente eliminados usando os scripts kill, então, quaisquer que estejam listados no novo nível, mas não no antigo, são executados. Serviços que existem em ambos os níveis de execução não são tocados.
Por exemplo, a mudança do nível de execução 3 para 5 geralmente resultará em algumas coisas (como um gerenciador de exibição) sendo iniciadas, mas nada será eliminado. Mudar de 5 para 1 resultará em algumas coisas sendo eliminadas, então talvez 1 (como um gerenciador de console de interface com o usuário) seja executado.