Seus sentimentos pessoais têm alguma verdade nisso.
Eu não vou muito em detalhes, mas um processo de inicialização do Linux pode ser resumido da seguinte forma. (Sujeito a alterações, como o init não é mais o padrão).
- O gerenciador de inicialização passa o controle para o kernel do Linux e
init
. -
init
então passa por suas listas de verificação e começa a atravessar seus runmodes -
init
entra no nível de execução 1. Este também é chamado de modo de usuário único, e é aí que ele inicia os serviços essenciais para um sistema funcional. Somente processos pertencentes ao root podem ser iniciados. -
init
entra no nível de execução 2. Semelhante ao modo acima, mas multiusuário. Processos de outros usuários participam da festa. - O nível de execução 3 inicia a rede.
- 4 é ignorado (nunca entendi o porquê. Perpetuamente reservado para uso futuro, eu acho). Em vez disso,
init
vai diretamente para 5, que é ondexorg
é iniciado. Muitos serviços de espaço do usuário (servidores da Web, correio, etc etc) são geralmente iniciados aqui.
Agora, para responder à sua pergunta, acho muito improvável que o script seja capaz de iniciar durante o processo de desligamento do sistema. Se bem me lembro, não é possível iniciar novos processos o caminho normal durante este processo. Pelo que entendi, a principal preocupação é que o script fosse iniciado e deixasse um arquivo de travamento que seria deixado durante a reinicialização, evitando assim que o script fosse executado, estou correto? O que eu faria nesse caso é ter um pequeno script de inicialização, talvez no nível de execução 3, que excluiria esse arquivo de trava, se encontrado.