C:\>ps
'ps' is not recognized as an internal or external command,
operable program or batch file.
The guy why suggested using the psutil is onto something -- definitely a 3rd-party dependency, but rolls all the platform specific messiness into a library. And much faster and less fragile than forking a new process.
Yeap. I find it great for prototyping: I code in the IPython shell, and then I dump the code of the various functions I wrote to a file, using func_code.
def makedumper(filen):
def dumpfunc(func):
with open(filen, 'a') as f:
file.write("\n\n{}".format(func.func_code))
return dumpfunc
#then to use it:
dump = makedumper("sourcefile")
dump(func1)
dump(func2)
You can not only get it, you can manipulate it at runtime as you wish. I may recommend checking out the python bytecode format, its pretty straightforward. See the module 'dis' for more.
Really neat solution, useful for straightforward things. However, it's quite far from telling us the full truth. Python won't release memory instantly and there will be some free memory that can be reused but won't ever be reused (int arrays?)