diff --git a/granulate_utils/linux/process.py b/granulate_utils/linux/process.py index 59e7e980..45680b6b 100644 --- a/granulate_utils/linux/process.py +++ b/granulate_utils/linux/process.py @@ -35,17 +35,12 @@ def process_exe(process: psutil.Process) -> str: """ - psutil.Process(pid).exe() returns "" for zombie processes, incorrectly. It should raise ZombieProcess, and return "" - only for kernel threads. - - See https://github.com/giampaolo/psutil/pull/2062 + psutil.Process(pid).exe() caches the result. This function returns the up-to-date exe in case the process exec-ed. """ - # Clear the "exe" cache on the process object. It can change after being cached if the process execed. + # Clear the "exe" cache on the process object process._exe = None # type: ignore exe = process.exe() if exe == "": - if is_process_zombie(process): - raise psutil.ZombieProcess(process.pid) raise MissingExePath(process) return exe diff --git a/requirements.txt b/requirements.txt index a9074b3c..c8e10b18 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -psutil~=5.8.0 +psutil~=6.0.0 requests~=2.31.0 grpcio~=1.43.0 protobuf~=3.19.4