Níveis de execução do init SysV

3

Em um sistema que usa níveis de execução de init do SysV, como Centos 5 , quando o sistema operacional está inicializando, ele vai direto para o nível de execução definido em /etc/inittab ?

Se eu alterar meu nível de execução usando o comando init , os scripts de eliminação para meu nível de execução atual serão executados e, em seguida, os scripts de inicialização para o novo nível de execução serão executados?

Por exemplo, se eu estivesse no nível de execução 3 e inserisse init 1 , os scripts de eliminação em /etc/rc.d/rc3.d seriam executados e, ao entrar no nível de execução 1, os scripts de inicialização em /etc/rc.d/rc1.d seriam executados?

    
por Kev 26.07.2011 / 17:54

1 resposta

5

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.

    
por 26.07.2011 / 19:32