psutil v0.2.0 Release Notes

  • 2010-11-13

    โœจ Enhancements

    • 79_: per-process open files (Process.open_files()_).
    • 88_: total system physical cached memory.
    • 88_: total system physical memory buffers used by the kernel.
    • 91_: add Process.send_signal()_ and Process.terminate()_ methods.
    • 95_: NoSuchProcess_ and AccessDenied_ exception classes now provide pid, name and msg attributes.
    • 97_: per-process children (Process.children()_).
    • 98_: Process.cpu_times()_ and Process.memory_info()_ now return a namedtuple instead of a tuple.
    • 103_: per-process opened TCP and UDP connections (Process.connections()_).
    • ๐Ÿ 107_, [Windows]: add support for Windows 64 bit. (patch by cjgohlke)
    • 111_: per-process executable name (Process.exe()_).
    • ๐Ÿ‘ป 113_: exception messages now include Process.name()_ and Process.pid_.
    • ๐Ÿ 114_, [Windows]: Process.username()_ has been rewritten in pure C and no longer uses WMI resulting in a big speedup. Also, pywin32 is no longer required as a third-party dependancy. (patch by wj32)
    • ๐Ÿ 117_, [Windows]: added support for Windows 2000.
    • 123_: cpu_percent()_ and Process.cpu_percent()_ accept a new interval parameter.
    • 129_: per-process threads (Process.threads()_).

    ๐Ÿ› Bug fixes

    • โš  80_: fixed warnings when installing psutil with easy_install.
    • ๐Ÿ 81_, [Windows]: psutil fails to compile with Visual Studio.
    • 94_: Process.suspend()_ raises OSError instead of AccessDenied_.
    • 86_, [FreeBSD]: psutil didn't compile against FreeBSD 6.x.
    • ๐Ÿ 102_, [Windows]: orphaned process handles obtained by using OpenProcess in C were left behind every time Process_ class was instantiated.
    • 111_, [POSIX]: path and name Process_ properties report truncated or erroneous values on POSIX.
    • ๐ŸŽ 120_, [macOS]: cpu_percent()_ always returning 100%.
    • 112_: uid and gid properties don't change if process changes effective user/group id at some point.
    • 126_: Process.ppid(), Process.uids(), Process.gids(), Process.name(), Process.exe(), Process.cmdline() and Process.create_time()_ properties are no longer cached and correctly raise NoSuchProcess_ exception if the process disappears.

    API changes

    • ๐Ÿ—„ psutil.Process.path property is deprecated and works as an alias for psutil.Process.exe property.
    • ๐Ÿšฆ Process.kill(): signal argument was removed - to send a signal to the process use Process.send_signal() method instead.
    • Process.memory_info()_ returns a nametuple instead of a tuple.
    • cpu_times()_ returns a nametuple instead of a tuple.
    • New Process_ methods: Process.open_files(), Process.connections(), Process.send_signal()_ and Process.terminate()_.
    • Process.ppid(), Process.uids(), Process.gids(), Process.name(), Process.exe(), Process.cmdline() and Process.create_time()_ properties are no longer cached and raise NoSuchProcess_ exception if process disappears.
    • cpu_percent()_ no longer returns immediately (see issue 123).
    • Process.cpu_percent()_ and cpu_percent()_ no longer returns immediately by default (see issue 123_).