[issue21504] can the subprocess module war using os.wait4 and so return usage?

STINNER Victor report at bugs.python.org
Thu May 15 00:28:53 CEST 2014


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 at bugs.python.org>
<http://bugs.python.org/issue21504>
_______________________________________


More information about the Python-bugs-list mailing list