ファイル記述子とPythonのツイストを使用する例
-
20-09-2019 - |
質問
私が探しているが、Linuxのパイプ(os.pipe())とマスター・プロセスとスレーブ・プロセスのセットとの間のFIFO(os.mkfifo())を横切って通信を制御するためにねじら使用します。私は肯定的報復だものの、それは(結局、ねじれの* nixのファイルディスクリプタとして抽象化TCPソケットに最適です)ファイルディスクリプタのこれらのタイプのツイスト使用することは可能ですが、私は使用法のこのタイプのいずれかの例を見つけることができません。誰でも任意のリンク、サンプルコード、またはアドバイスはありますか?
解決
これは、組み込みの非同期I / Oのために何かを持っていません。誰かがそれのために libaioをラッパーに書きましたが、それがために触れられていませんそれはまだ動作するかどうかに長い時間、と私は考えている。
あなたが読むために利用できるものがありますかどうかを確認するためにselect
を使用することができ、それが書面であなたを助けにはなりません最悪の場合ます。
他のヒント
あなたは親プロセスとそれがスポーン子プロセス間の任意のファイルディスクリプタのマッピングを設定するためにreactor.spawnProcess
を使用することができます。例えば、プログラムを実行し、それを、それは親プロセスに戻ってバイトを送信することが可能な入力(stdin、stdout、およびstderrに加えて)2つの余分な出力記述子を与えるために、あなたはこのような何かを考えます:
reactor.spawnProcess(protocol, executable, args,
childFDs={0: 'w', 1: 'r', 2: 'r', 3: 'r', 4: 'r'})
原子炉はあなたのためのパイプを作成するの世話をする、そしてデータをそれらから読み出されたとき、あなたが渡す あなたも、あなたがほとんどchildDataReceived
にProcessProtocol
を呼び出します。 href="http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.IReactorProcess.html" rel="noreferrer"> spawnProcess APIドキュメント詳細はを
twisted.internet.stdio
を見になりたい、子端にツイストを使用している場合。 コアの例でstdiodemo.pyとstdin.pyはのはどのようにあなたが表示されますそのモジュールを使用します。