J'essaie de démarrer un service qui nécessite un env. variable à définir sur un certain chemin. J'ai défini cette variable dans "/etc/profile.d/". Cependant, lorsque je démarre ce service à l'aide de la service
commande, cela ne fonctionne pas.
service homme:
service runs a System V init script in as predictable environment as possible,
removing most environment variables and with current working directory set to /.
Il semble donc que la service
suppression de mes variables. Comment dois-je configurer les variables pour les empêcher d'être supprimées. Ou est-ce quelque chose que je ne devrais pas faire.
Je pourrais démarrer le service manuellement en utilisant les scripts d'initialisation, ou même coder en dur le chemin dans le script, mais j'aimerais savoir comment l'utiliser avec la service
commande.
Il est recommandé de placer les paramètres de configuration dans une configuration dans
/etc/sysconfig/<servicename>
laquelle est ensuite lu par le script init.Cordialement
Bram
la source
/etc/sysconfig/<servicename>
fichier, vous pouvez utiliser bashsource
pour charger des fichiers à partir/etc/profile.d
d'imiter l'environnement de connexion shell.De
man 5 init
:De plus, vous pouvez faire
grep env /etc/init/*
pour voir comment est utiliséVoici ma sortie:
Et pour un exemple exhaustif, voyez certains de ces scripts. Voici nginx.conf:
la source