Estou tentando iniciar um serviço que requer um ambiente. variável a ser definida para determinado caminho. Defino essa variável em "/etc/profile.d/". No entanto, quando inicio este serviço usando o service
comando, ele não funciona.
serviço de homem:
service runs a System V init script in as predictable environment as possible,
removing most environment variables and with current working directory set to /.
Então parece que service
está removendo minhas variáveis. Como devo configurar as variáveis para impedir que elas sejam removidas. Ou isso é algo que não devo fazer.
Eu poderia iniciar o serviço manualmente usando os scripts init ou até mesmo codificar o caminho para o script, mas gostaria de saber como usá-lo com o service
comando
É recomendável colocar as definições de configuração em uma configuração na
/etc/sysconfig/<servicename>
qual é lida pelo script init.Saudações
Bram
fonte
/etc/sysconfig/<servicename>
arquivo, você pode usar o bash'ssource
para carregar arquivos/etc/profile.d
e imitar o ambiente de login do shell.De
man 5 init
:Além disso, você pode fazer
grep env /etc/init/*
para ver como é usadoEsta é a minha saída:
E, para um exemplo exaustivo, veja alguns desses scripts. Aqui nginx.conf:
fonte