D
Daniel Timothy Bentley
What is the (hopefully unique) obvious way of runnign a sub-process if I
want to get the exit code and input without resorting to multi-threading?
It seems like I should be able to do the following:
foo = popen2.Popen3(cmd)
foo.wait()
foo.fromchild.read()
But, it seems like on my system (a Sun Ultra 30 running Solaris 8) this
will hang if the input happens to have more than about 12k of text. I'm
guessing this is a buffersize issue, but it would be a mistake to assume
at compile time an output size for the child process.
Couldn't wait be modified to actually wait until a process exits by
buffering?
While we're at it, is there any way to read/wait with a time-out? I.e.,
read more than 0 bytes, unless it takes more than a time-out value, so I
can run sub-processes that terminate?
-Dan
want to get the exit code and input without resorting to multi-threading?
It seems like I should be able to do the following:
foo = popen2.Popen3(cmd)
foo.wait()
foo.fromchild.read()
But, it seems like on my system (a Sun Ultra 30 running Solaris 8) this
will hang if the input happens to have more than about 12k of text. I'm
guessing this is a buffersize issue, but it would be a mistake to assume
at compile time an output size for the child process.
Couldn't wait be modified to actually wait until a process exits by
buffering?
While we're at it, is there any way to read/wait with a time-out? I.e.,
read more than 0 bytes, unless it takes more than a time-out value, so I
can run sub-processes that terminate?
-Dan