Ich versuche, über das Subprocessing-Modul zu lernen und mache daher einen HLDs-Server-Administrator.Popen Subprocessing Probleme
Mein Ziel ist es, Server-Instanzen zu starten und alle Befehle über dispatcher.py zu senden, um mehrere Server zu verwalten, z. Senden Sie Befehle an Unterprozesse stdin.
, was ich für einige erste Tests so weit gekommen, wurde aber bereits fest:]
#dispatcher.py
import subprocess
RUN = '/home/daniel/hlds/hlds_run -game cstrike -map de_dust2 -maxplayers 11'
#RUN = "ls -l"
hlds = subprocess.Popen(RUN.split(), stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
print hlds.communicate()[0]
print hlds.communicate()[1]
hlds.communicate('quit')
Ich bin kein stdout vom hlds Server bekommen, aber es funktioniert gut, wenn ich stdout gesetzt dont ROHR. Und die hlds.communicate('quit')
scheint auch nicht an die HLDs-Prozess-Anweisung gesendet zu werden. Der Befehl ls -l gibt stdout korrekt, aber nicht hlds zurück.
Alle Hilfe geschätzt! :)