Eu * preciso * 'exit 0' no final de 'rc.local'?

6

Qual é o objetivo do código de saída em rc.local ? Eu pareço executar muito bem sem isso. O cabeçalho mostra:

#!/bin/sh -e
#
# rc.local - executed at the end of each multiuser runlevel
#
# Make sure that the script will "exit 0" on success or any other
# value on error.

Quem verifica o código de retorno? O padrão é 0 de qualquer forma?

    
por tarabyte 04.12.2015 / 16:25

3 respostas

7

Não diz "sempre exit 0 ". Leia novamente sem a quebra de linha.

Make sure that the script will "exit 0" on success or any other value on error.

  • Para indicar sucesso, saia 0.
  • Para indicar um erro, saia de qualquer outro valor.

Não há necessariamente nada que verifique seu status, mas alguns sistemas de inicialização exibirão "[OK]" ou "[FAIL]" na tela para o usuário. Em qualquer caso, é uma boa prática certificar-se de que seus scripts saiam com um código de retorno significativo.

O status de saída padrão, como qualquer outro script, será o status de saída do último comando executado no script.

    
por 04.12.2015 / 17:46
0

Você não precisa de exit 0 no final do script.

Execute locate rc.local | grep -vF /etc/rc.local para encontrar arquivos que possam estar envolvidos na chamada de /etc/rc.local e examinar seu código de saída.

/etc/init.d/rc.local parece ser um script de init no meu Xubuntu 15.10: Ele parece pegar o código de saída e registrar algo usando esse valor, se a variável "$ VERBOSE" não for "não" .

Você pode colocar a linha echo "$(ps -o args= $PPID)" >/tmp/caller em /etc/rc.local e escreve o nome do chamador no arquivo / tmp / caller durante a inicialização. No meu sistema Xubuntu 15.10 que é "/ sbin / init persistent splash".

    
por 21.02.2016 / 11:48
-2

rc.local é um arquivo de script que você pode colocar seu script para o último comando em execução após o linux up

rc.local não fornece uma maneira inteligente de se recuperar de erros. Se algum comando falhar, ele pára de executar, exit 0 help se ocorrer algum erro

Os códigos de saída são um número entre 0 e 255, que é retornado por qualquer comando Unix quando retorna o controle ao seu processo pai.

    
por 04.12.2015 / 17:17