2011-05-23 6 views
1

Alors, je pensais que ce serait cool si je pouvais faire en sorte que mon dev puisse fonctionner d'un seul coup avec de la magie python. Diverses bases de données, serveur web, etc.Exécution d'un processus de longue durée via Python Popen

Cependant, toutes les variantes ci-dessous que j'ai essayées sur ce qui suit semblent échouer avec 'fichier non trouvé'.

p2 = Popen(["exec", "/path/to/redis/server"], stdin=p1.stdout, stdout=PIPE) 
output = p2.communicate()[0] 

exécution de la commande directement à partir de la coque (à savoir exec /path/to/redis/server) fonctionne très bien. Curieusement, une simple ligne de commande uptime semble fonctionner correctement.

Des indices sur ce qui se passe? Aussi, pendant que nous sommes sur le sujet, est-ce que c'est la chose à utiliser quand je veux exécuter plusieurs de ces processus externes en parallèle?

Merci

Répondre

2

exec est une commande intégrée dans bash, pas un exécutable. L'erreur de fichier non trouvé vient probablement de l'exec non trouvé dans le $PATH.

J'essaierais d'omettre "exec" dans l'appel Popen.

+0

Merci, c'était :) – malangi

Questions connexes