init
(se você está usando um estilo SVR4 clássico init
, systemd, runit ou qualquer outra coisa) é codificado como uma máquina de estado. Ele só faz coisas em resposta a eventos que fazem com que ele mude de estado. A transição de um sistema sendo ligado para ser desligado é uma mudança de qualquer estado atual para o estado definido pelo nível de execução 0, e o desligamento para uma reinicialização é o mesmo, apenas mudando para o estado definido pelo nível de execução 6 (e na verdade, as duas transições são praticamente idênticas, exceto por uma chamada final no kernel por init
).
Para responder a sua segunda pergunta, o sistema está funcionalmente 'no runlevel 6' durante o período de tempo em que init
liga para o kernel para reiniciar (o que não retorna) até que o kernel execute a execução para 'init durante a próxima inicialização.