This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author donald.petravick
Recipients donald.petravick, vstinner
Date 2014-05-15.01:09:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CF997A89.192A0%petravic@illinois.edu>
In-reply-to <1400106533.38.0.413278792286.issue21504@psf.upfronthosting.co.za>
Content
Victor, thanks so much for reading my ticket and contacting me.

I prototyped what makes sense to me by subclassing subprocess.Popen and
Over-ridden the wait method to do what I suggested. Proof of concept
attached.  \
It¹s  a bit of a hack since I cribbed code from Popen.wait().

Now that you¹ve made me think harder,  The use case that stood out was the
case 
where I called the communicate() method which both handles IO and the
termination 
of the process AFAICT.

I _do_ understand the portability argument you are making (and am clueless
about
what¹s to be done with windows).

 ‹ Thanks
‹  Don

On 5/14/14, 5:28 PM, "STINNER Victor" <report@bugs.python.org> wrote:

>
>STINNER Victor added the comment:
>
>I guess that you mean "Popen" when you write "Pipe"?
>
>Even if Popen has a high-level wait() method implemented with
>os.waitpid(), you are free to use a low-level function using the pid
>attribute.
>
>proc = subprocess.Popen(...)
>os.wait4(proc.pid, ...)
>
>> have an new data member, rusage, make the resource usage available to
>>the caller.
>
>I don't know how to get the rusage of a specific child process, but you
>can use resource.getrusage(resource.RUSAGE_CHILDREN) which gives the
>usage of *all* child processes. Again, you have the pid, and so you are
>free to use any function to retrieve the resource usage of the child
>process. See also this project which can help you:
>https://pypi.python.org/pypi/psutil
>
>I don't think that the subprocess should be modified to your use case,
>it's already possible to implement you use cases without modify it.
>Python is a (very) portable language, and it's very hard to provide the
>same API for such low-level metrics (rusage). I don't think that Windows
>provides exactly the same data for example.
>
>You can build your own module on top of subprocess and other modules like
>psutil.
>
>----------
>nosy: +haypo
>
>_______________________________________
>Python tracker <report@bugs.python.org>
><http://bugs.python.org/issue21504>
>_______________________________________
>
Files
File name Uploaded
subprocess4.pyc donald.petravick, 2014-05-15.01:09:15
History
Date User Action Args
2014-05-15 01:09:19donald.petravicksetrecipients: + donald.petravick, vstinner
2014-05-15 01:09:19donald.petravicklinkissue21504 messages
2014-05-15 01:09:15donald.petravickcreate