Estou procurando algo que suspenda o processo de inicialização (antes que determinados serviços sejam iniciados). Ele solicitaria ao console a entrada do usuário, após o que eu poderia usar essa entrada e continuar inicializando a máquina.
Muito parecido com a caixa de diálogo de frase secreta que é apresentada quando há unidades criptografadas.
Se não houver nada 'pronto para uso', então sou proficiente o suficiente para escrever c/c++ que recebe entrada do stdin e processa isso. Como faço para suspender o processo de inicialização? Eu simplesmente coloco meu programa em /etc/rc3.d com um nível apropriado no nome binário? O processo de inicialização simplesmente esperaria até que o processo terminasse? Quaisquer dicas seriam apreciadas.
Pretendo usar memória compartilhada para armazenar essa entrada do usuário, portanto, o processo de inicialização deve ser suspenso onde estiver disponível para mim.
O sistema de destino é o CentOS 6.
Você tem que colocar um script com o nível apropriado em
/etc/rc3.d/
, como você já escreveu.Todos os scripts nesse diretório são executados na ordem de seu número de sequência, os scripts com o mesmo número são executados em paralelo. Somente quando todos os scripts de um nível tiverem concluído a execução, os scripts com o próximo nível superior serão iniciados. Então, sim, a execução aguardará a conclusão do seu script. Isso lhe dá a oportunidade de inserir quaisquer dados necessários.
Uma coisa que você pode querer levar em consideração é o que acontece se a reinicialização ocorrer quando ninguém estiver presente para inserir dados? Deseja esperar indefinidamente ou deseja continuar após algum tempo limite?