私はサブプロセスのモジュールについて学びたいので、hldsサーバーの管理者にしています。Popenのサブプロセスの問題
私の目標は、サーバインスタンスを起動し、すべてのコマンドをdispatcher.pyで送信して複数のサーバを管理できるようにすることです。サブプロセスstdinにコマンドを送信します。私はいくつかの初期テストのために、これまで持っているが、すでに捕まってしまったものを
:]
#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')
私はHLDSサーバから任意の標準出力を取得していないが、私はstdoutに設定していけない場合、それは正常に動作しますパイプ。 hlds.communicate('quit')
は、hldsプロセスのstdinに送信されていないようです。 ls -lコマンドはstdoutを正しく返しますが、hldは返しません。
すべてのお役に立ちました! :)