Bonjour,
J'ai une question concernant popen.
Je voudrais créer un processus fils qui est un serveur en fait.
Je souhaite que le père lui donne des instructions via tube et
que le fils lui réponde.
Pour ça j'utilise subprocess. Il y a pas mal de posts sur ce sujet mais
les differentes solutions ne fonctionnent pas chez moi.
PS: le serveur fonctionne bien quand je le lance directement
Voila où j'en suis en ce moment:
1 2 3 4 5 6 7
| if __name__ == "__main__":
# creation du fils
p = subprocess.Popen(["./serveur"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
while 1:
data = p.communicate("mesordres")
if data:
print data |
Il semble que le script soit bloqué à la ligne:
data = p.communicate("mesordres")
Merci pour votre aide
EDIT: Lorsque je remplace stdout=subprocess.PIPE par sys.stdout,
j'ai bien une sortie dans le shell.
Partager