os.pipe() + os.fork()
gherron at islandtraining.com
Sat Feb 20 20:13:45 CET 2010
Sebastian Noack wrote:
> I have figured out that, you have to close the writing end in the child
> process, which is reading from the pipe. Otherwise the underlying pipe
> is not going to be closed when the parent process is closing its
> writing end. This has nothing to do with Python itself. I have tried
> plain C and there it is the same behaviour.
> Sebastian Noack
Correct. The fork creates two processes with references to the read and
write ends of the pipe. Both parent and child processes should close
the ends they are not using.
Here's a thought: Consider the subprocess module. It can do the fork
and any necessary pipes and can do so in an OS independent way. It
might make you life much easier.
More information about the Python-list