is < ``2.0``.
Older versions of psutil (e.g. ``1.2.1`` which is the version shipped with
Ubuntu 14.04) use a different API for retrieving the child processes.
To handle this try the new API first and if that fails try the old API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257616
91177308-0d34-0410-b5e6-
96231b3b80d8
import psutil
try:
psutilProc = psutil.Process(pid)
- for child in psutilProc.children(recursive=True):
+ # Handle the different psutil API versions
+ try:
+ # psutil >= 2.x
+ children_iterator = psutilProc.children(recursive=True)
+ except AttributeError:
+ # psutil 1.x
+ children_iterator = psutilProc.get_children(recursive=True)
+ for child in children_iterator:
try:
child.kill()
except psutil.NoSuchProcess: