ANN: psutil 5.6.0 with Process.parents() is out

Giampaolo Rodola' g.rodola at
Tue Mar 5 07:26:04 EST 2019

Hello all,
I'm glad to announce the release of psutil 5.6.1:
Blog post:


psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, macOS, Sun Solaris, FreeBSD, OpenBSD,
NetBSD and AIX, both 32-bit and 64-bit architectures.  Supported Python
versions are 2.6, 2.7 and 3.4+. PyPy is also known to work.

What's new



- #1379: [Windows] Process suspend() and resume() now use NtSuspendProcess
  and NtResumeProcess instead of stopping/resuming all threads of a process.
  This is faster and more reliable (aka this is what ProcessHacker does).
- #1420: [Windows] in case of exception disk_usage() now also shows the path
- #1422: [Windows] Windows APIs requiring to be dynamically loaded from DLL
  libraries are now loaded only once on startup (instead of on per function
  call) significantly speeding up different functions and methods.
- #1426: [Windows] PAGESIZE and number of processors is now calculated on
- #1428: in case of error, the traceback message now shows the underlying C
  function called which failed.
- #1433: new Process.parents() method.  (idea by Ghislain Le Meur)
- #1437: pids() are returned in sorted order.
- #1442: python3 is now the default interpreter used by Makefile.

**Bug fixes**

- #1353: process_iter() is now thread safe (it rarely raised TypeError).
- #1394: [Windows] Process name() and exe() may erroneously return
  QueryFullProcessImageNameW is now used instead of GetProcessImageFileNameW
  in order to prevent that.
- #1411: [BSD] lack of Py_DECREF could cause segmentation fault on process
- #1419: [Windows] Process.environ() raises NotImplementedError when
  a 64-bit process in 32-bit-WoW mode. Now it raises AccessDenied.
- #1427: [OSX] Process cmdline() and environ() may erroneously raise OSError
  on failed malloc().
- #1429: [Windows] SE DEBUG was not properly set for current process. It is
  now, and it should result in less AccessDenied exceptions for low-pid
- #1432: [Windows] Process.memory_info_ex()'s USS memory is miscalculated
  because we're not using the actual system PAGESIZE.
- #1439: [NetBSD] Process.connections() may return incomplete results if
- #1447: original exception wasn't turned into NSP/AD exceptions when using
  Process.oneshot() ctx manager.

**Incompatible API changes**

- #1291: [OSX] Process.memory_maps() was removed because inherently broken
  (segfault) for years.


- Home page:
- Download:
- Documentation:
- What's new:


Giampaolo -

More information about the Python-announce-list mailing list