A maneira correta de fazer o que você quer fazer é criar um script de init personalizado que lista as dependências necessárias. Dentro desse script, você inicia / interrompe o serviço em questão, dependendo se o script é chamado com start
ou stop
como o primeiro parâmetro.
Você pode começar com um script simples como /etc/init.d/motd
como modelo, pois ele terá todas as partes básicas para que tudo funcione. No seu caso, você quer que o script indique
# Required-Stop: $remote_fs $syslog apache2 mysql
porque você precisa das instalações remote_fs
e syslog
em execução (mas não se importa com o serviço exato que fornece esses recursos) e, especificamente, apache2
e mysql
serviços em execução, no momento em que a ação de parada é emitida. Observe que o Java não é um serviço em si, mas usá-lo pode ter dependências em serviços, incluindo sistemas de arquivos.
Should-Stop
e Required-Stop
são descritos na página man insserv (8) como:
In both cases the script system should avoid stopping services which are declared by these two
Stop
tags until the script including these tags is stopped.
Os nomes são de Provides
(nomes de serviço literais, nenhum sinal $
no início) de scripts init de serviço e de /etc/insserv.conf
(nomes de instalações, $
assinam no início).
Quando você tiver o script como quiser, instale-o usando update-rc.d
ou diretamente usando insserv
.