/etc/init.d
é o diretório de script, no qual os scripts executáveis aparecem. No entanto, para executar scripts em uma ordem específica após o início do sistema, você precisa adicionar arquivos ao diretório /etc/rc#.d
. As entradas que aparecem aqui informam seu sistema em qual ordem e em quais scripts de nível de execução em /etc/init.d
devem ser executados. O número após o rc indica em qual nível de execução a máquina está rodando, de acordo com este gráfico:
Então, se você tiver:
/etc/init.d/importantscript
Então você precisa dos arquivos (vazios):
/etc/rc.d/rc3.d/S20importantscript
/etc/rc.d/rc6.d/K20importantscript
O S significa iniciar e o K significa matar. Quando sua máquina iniciar, o sistema dirá "Ah, estou rodando em RunLevel 3, vamos pular para rc3.d para ver quais scripts em '/etc/init.d' precisam ser executados e em qual ordem." Nesse caso, o sistema classificará por 'S' e depois o número após 'S' e executará '/etc/init.d/importantscript start'. O 20 é apenas para fins de encomenda ... o seu script será executado por trás do 'S19' e em frente ao 'S21'. Você pode criar esses arquivos simplesmente fazendo:
sudo touch /etc/rc.d/rc3.d/S20importantscript
Aqui está um bom resumo: link