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

1

Eu estou usando o debian Jessie. Durante a inicialização, quero ler alguma entrada do usuário. Isso é feito por um script personalizado em /etc/init.d/ e links simbólicos nos diretórios de runlevel. Agora quero que kdm , que é iniciado por outro script de init, seja iniciado somente após o término do meu script personalizado.

Eu nuvem conseguir 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 pergunta é: Como posso evitar que um script de inicialização distinto (inalterado) ( kdm ) seja iniciado antes que meu script personalizado seja concluído?

    
por cknoll 05.11.2016 / 23:39

1 resposta

1

Como você está usando initscripts, o caminho certo para adiar kdm até que seu script personalizado tenha terminado é declarar uma dependência de kdm em seu script personalizado, no cabeçalho do LSB:

# Required-Start: ... yourscript

no kdm initscript e

# Provides: yourscript

no seu script personalizado.

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

    
por 05.11.2016 / 23:55