讀書時,我使用python3.4的os.pipe做IPC bettwen父進程和子進程,通過 ARGS os.execlp通過管道ARGS「壞文件描述符」從管中叉過程中python3.4
self.child_pipe_read=int(sys.argv[2])
self.child_pipe_write=int(sys.argv[3])
...
os.execlp('python3','python3','child_test.py',str(pid),str(self.child_pipe_read) ,str(self.child_pipe_write))
然而
,當我使用這個:
msg=os.read(self.child_pipe_read,32)
扔錯誤OSERROR:[ERR沒有9]錯誤的文件描述符
,然後我試着寫管道:
os.write(self.parent_pipe_write,(msg+'\n').encode())
BrokenPipeError:[錯誤32]破管
我看到了python3.4的文檔,發現這個:
「版本3.4中更改:新文件描述符現在是非可繼承的」 但我不知道它的含義是什麼? 我如何使用管道IPC?
你的代碼甚至不顯示管道創建。請添加它。此外,請參閱如何[創建一個最小的,可驗證的示例](http://stackoverflow.com/help/mcve),以獲取有關最大化您將獲得的答案的有用性的提示。 – spectras