2009-09-14 6 views
3

J'ai un script python qui gère un démon Erlang. Tout fonctionne correctement lorsqu'il est utilisé via un shell une fois le système initialisé.Erlang: le script 'init.d' du démon ne démarre pas

Maintenant, quand j'inclus le même script sous « /etc/init.d » et les liens symboliques correctement réglées dans « /etc/rcX.d », le script python fonctionne toujours mais mon démon Erlang ne démarrer et ne laisse aucune trace discernable (par exemple crash_dump, dmesg etc.)

J'ai également essayé de régler la variable d'environnement "HOME" à travers 'erl -env HOME/root' et toujours pas de chance.

Des indices?

Répondre

5

Pour exécuter manuellement le script de la même manière que le système ne, utilisez service daemon start si vous avez cette commande, ou bien essayer

cd/
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" /etc/init.d/daemon start 

qui force le script à exécuter avec un environnement connu, minimal comme il le ferait au démarrage.

+0

Bon conseil! Merci un million! J'ai été capable de diagnostiquer le problème en un éclair. Il semble que 'erl -env HOME/root' ne soit pas suffisant pour définir l'environnement pour erl. L'environnement var "HOME" doit être défini pour 'erl' lui-même, c'est-à-dire dans le script python utilisant subprocess.Popen() le paramètre 'env' doit être utilisé pour configurer un environnement complet. – jldupont

0

Merci pour cette réponse - je commençais à avoir un peu de mal à démarrer l'interface RESTful "Alice" avec rabbitmq au démarrage. La clé utilisait 'env HOME =/racine/chemin/vers/alice/démarrage/script' dans mon script d'initialisation.

Questions connexes