Por que a variável env não é visível ao iniciar um serviço

0

Eu estou querendo saber por que durante as variáveis de ambiente de inicialização do serviço não são visíveis. Para ser mais preciso: Eu criei o script de inicialização do serviço de acordo com a especificação LSB que inicia um processo java. Para este propósito, a variável JAVA_HOME env é verificada primeiro. Esta variável env está definida em /etc/profile.d/java.sh. Isso provavelmente não é executado ao iniciar o serviço. Eu gostaria de entender o processo e qual é a solução correta nesse caso?

    
por jaksky 24.10.2013 / 13:26

1 resposta

1

Os scripts RC são chamados como scripts de shell não interativos. Assim eles não lêem / etc / profile. Assim, você precisa definir explicitamente suas variáveis em seu script. Seja diretamente no seu script ou use algumas técnicas de encapsulamento do script RC (variáveis principais definidas em / etc / sysconfig / $ package).

Veja como o tomcat6 está fazendo isso (embora seja bastante complicado de acordo com a minha opinião).

    
por 24.10.2013 / 13:47