psutil v0.2.1 Release Notes

  • 2011-03-20

    โœจ Enhancements

    • 64_: per-process I/O counters (Process.io_counters()_).
    • 116_: per-process Process.wait()_ (wait for process to terminate and return its exit code).
    • 134_: per-process threads (Process.threads()_).
    • 136_: Process.exe()_ path on FreeBSD is now determined by asking the kernel instead of guessing it from cmdline[0].
    • 137_: per-process real, effective and saved user and group ids (Process.gids()_).
    • 140_: system boot time (boot_time()_).
    • 142_: per-process get and set niceness (priority) (Process.nice()_).
    • 143_: per-process status (Process.status()_).
    • ๐Ÿง 147_ [Linux]: per-process I/O niceness / priority (Process.ionice()_).
    • 148_: psutil.Popen_ class which tidies up subprocess.Popen and Process_ class in a single interface.
    • ๐ŸŽ 152_, [macOS]: Process.open_files()_ implementation has been rewritten in C and no longer relies on lsof resulting in a 3x speedup.
    • ๐ŸŽ 153_, [macOS]: Process.connections()_ implementation has been rewritten in C and no longer relies on lsof resulting in a 3x speedup.

    ๐Ÿ› Bug fixes

    • ๐ŸŽ 83_, [macOS]: Process.cmdline()_ is empty on macOS 64-bit.
    • ๐Ÿง 130_, [Linux]: a race condition can cause IOError exception be raised on if process disappears between open() and the subsequent read() call.
    • ๐Ÿ 145_, [Windows], [critical]: WindowsError was raised instead of AccessDenied_ when using Process.resume()_ or Process.suspend()_.
    • ๐Ÿง 146_, [Linux]: Process.exe()_ property can raise TypeError if path contains NULL bytes.
    • ๐Ÿง 151_, [Linux]: Process.exe()_ and Process.cwd()_ for PID 0 return inconsistent data.

    API changes

    • ๐Ÿ—„ Process_ uid and gid properties are deprecated in favor of uids and gids properties.