popen2 on Windows

b s balaji at platinum.com
Tue Jul 6 17:14:52 EDT 1999


John van der Koijk <vdkoijk at linux01.prc.tno.nl> writes:

All these things will work only if your application is a console application.
If a service is trying to spawn a child process and you want to capture the
output in the parent and wait for childs termination (by getting an EOF on the
read end of the pipe), it gets a little more complicated.
check out
"Creating a Child Process with Redirected Input and Output"
in the MSDN. It is not completely working, but gives you the mechanics of the
equivalent of popen().
|"BT" == Bill Tutt <billtut at microsoft.com> writes:
|
|    >> After coping with my initial frustration, I've decided to make
|    >> an unthreaded stub program talking to the DDE client, using
|    >> popen2 to do the IPC with the GUI and controller
|    >> program. Sadly, this approach also does not seem to work,
|    >> because using popen2 gives me:
|    >> 
|    >> [....] os.fork() AttributeError: fork
|    >> 
|    >> This is amazing, since the manual for 1.5.2 says:
|    >> 
|    >> 8.13 popen2 -- Subprocesses with accessible standard I/O
|    >> streams
|    >> 
|    >> Availability: Unix, Windows.
|    >> 
|
|    BT> Well, its wrong. :) Windows doesn't have fork().
|
|    BT> The win32pipe module exposes popen2() that does what you want
|    BT> it to do, however you need to avoid a bug in Win9x. The
|    BT> knowledge base article at:
|    BT> http://support.microsoft.com/support/kb/articles/q150/9/56.asp
|    BT> covers what you need to do to avoid this dilemma.
|
|Wow. I'm completely flabbergasted...
|
|I have realised that I could also use a socket interface. Works great,
|and speed is not one of my concerns, right now.
|
|Thanks,
|-- 
|John van der Koijk.
|--
|TNO Institute of Industrial Technology
|
|PO Box 5073, 2600 GB, Delft, The Netherlands




More information about the Python-list mailing list