Atrasar um script de inicialização até que outro processo seja concluído?

Atrasar um script de inicialização até que outro processo seja concluído?

Estou executando o debian Jessie. Durante a inicialização, quero ler algumas entradas do usuário. Isso é feito por um script personalizado em /etc/init.d/ e links simbólicos nos diretórios de nível de execução. Agora eu quero que kdmo , que é iniciado por outro script de inicialização, seja iniciado somente após a conclusão do meu script personalizado.

Eu consigo isso adicionando algo como

while test -e /tmp/kdm-boot-lock
do
    echo "waiting for lock-file to be deleted by custom-script"
    sleep 1
done

para /etc/init.d/kdm

mas eu preferiria uma solução sem alterar arquivos externos (que podem ser alterados por atualizações).

Portanto, a questão é: como posso evitar que um script de inicialização distinto (inalterado) ( kdm) seja iniciado antes da conclusão do meu script personalizado?

Responder1

Como você está usando initscripts, a maneira correta de adiar kdmaté que seu script personalizado termine é declarar uma dependência de kdmseu script personalizado, no cabeçalho LSB:

# Required-Start: ... yourscript

no kdmscript inicial e

# Provides: yourscript

em seu script de inicialização personalizado.

Para evitar que as alterações no kdminitscript sejam perdidas nas atualizações, você pode copiar seu cabeçalho LSB para um insservarquivo de substituição /etc/insserv/overrides(com o mesmo nome) e editá-lo.

informação relacionada