我正在尋找使用twisted來控制主進程和一組從進程之間跨Linux管道(os.pipe())和fifos(os.mkfifo())的通信。雖然我是積極的,但可以使用twisted來處理這些類型的文件描述符(畢竟,twisted對於nix抽象爲文件描述符的tcp套接字非常適用),但我找不到任何這種類型的使用示例。任何人都有任何鏈接,示例代碼或建議?使用Python與文件描述符扭曲的示例
3
A
回答
-3
它沒有任何內置的異步I/O。有人爲它寫了一個libaio wrapper,但它很長一段時間沒有被觸及,我不知道它是否仍然有效。
在最糟糕的情況下,您可以使用select
來查看是否有可供閱讀的內容,但這不會幫助您進行書寫。
12
您可以使用reactor.spawnProcess
在父進程與其生成的子進程之間設置任意文件描述符映射。例如,要運行一個程序,並給它兩個額外的輸出描述符(除標準輸入,標準輸出,和標準錯誤),與它可以發送字節回父進程,你會做這樣的事情:
reactor.spawnProcess(protocol, executable, args,
childFDs={0: 'w', 1: 'r', 2: 'r', 3: 'r', 4: 'r'})
反應堆將負責爲您創建管道,並在您從中讀取數據時通過ProcessProtocol
調用childDataReceived
。詳情請參閱spawnProcess API docs。
如果您也在兒童端使用Twisted,那麼您大多希望看到twisted.internet.stdio
。 core examples中的stdiodemo.py和stdin.py將向您展示如何使用該模塊。
相關問題
- 1. 扭曲的DNS示例python
- 2. 使用文件描述符與readlink()
- 3. 套接字描述符與文件描述符
- 4. Python的扭曲與callInThread
- 5. 與扭曲的Python或Node.js
- 6. Python的扭曲:扭曲海螺文件傳輸verifyHostKey
- 7. python關閉文件描述符問題
- 8. 沒有人有任何使用jqGrid與扭曲/ Python的任何示例
- 9. 使用文件描述符過程
- 10. Python的扭曲文檔
- 11. Linux Socket文件描述符與線程
- 12. Android服務示例代碼泄漏文件描述符
- 13. 窗口上的python扭曲stdio示例不起作用
- 14. webservice描述符文件
- 15. 關閉文件描述符
- 16. 創建文件描述符
- 17. Linux open()文件描述符
- 18. 寫作文件描述符
- 19. 實現文件描述符
- 20. 文件描述符輪詢
- 21. c strcpy文件描述符
- 22. HOG描述符使用Python + OpenCV
- 23. 使用__setattr__和描述符爲python類
- 24. 描述Mockito示例代碼
- 25. 調用fdopen:壞的文件描述符
- 26. 如何使用變量在bash中指示文件描述符?
- 27. 扭曲的python TCP4ServerEndpoint
- 28. 扭曲的Python getPage
- 29. Python扭曲的sendLine()
- 30. libudev如何使用輪詢與文件描述符
最後一句話提到'twisted.internet.stdio'正是我所期待的。很難找到,因爲http://twistedmatrix.com/documents/13.0.0/core/howto/process.html根本沒有提及它(如何做一個孩子..)。非常感謝! – oberstet 2013-10-12 23:39:03