Dependendo da distro e da versão do Linux, os scripts sysvinit (esses scripts em /etc/init.d/ ) geralmente são executados a partir dos links simbólicos existentes em /etc/rc[0-6S].d , por /etc/init.d/rc .
No Ubuntu, você está usando o estilo antigo sysvinit ou, mais recentemente, upstart . Sob o diretório de gerenciamento iniciante ( /etc/events.d/ ), você encontrará um modo herdado que retorna à chamada /etc/init.d/rc . Caso contrário, /etc/init.d/rc é invocado para cada nível de execução via /etc/inittab .
Se você examinar a lógica de /etc/init.d/rc , verá que ela define ações dependendo do nível de execução ( 0 & S são incondicionalmente interrompidas) ou prefixo de script ( S[0-9][0-9]* scripts start, K[0-9][0-9]* ( matar) scripts parem). A numeração de scripts em um diretório de nível de execução (por exemplo, /etc/rc1.d/ ) determina a ordem em que os scripts são interrompidos ou iniciados. Os scripts de eliminação são executados primeiro e iniciam os scripts.
Para mais sobre isso, pesquise sysvinit e upstart.