PsUtil 6+ no longer check PID reused #2755

This commit is contained in:
nicolargo 2024-06-26 18:56:31 +02:00
parent cff2e9fc4a
commit f6066e5d46

View File

@ -123,7 +123,9 @@ class GlancesProcesses:
"""Reset the internal cache."""
self.cache_timer = Timer(0)
self.processlist_cache = {}
psutil.process_iter.cache_clear()
if hasattr(psutil.process_iter, 'cache_clear'):
# Cache clear only available in PsUtil 6 or higher
psutil.process_iter.cache_clear()
def reset_processcount(self):
"""Reset the global process count"""
@ -451,7 +453,9 @@ class GlancesProcesses:
)
)
# Only get the info key
processlist = [p.info for p in processlist]
# PsUtil 6+ no longer check PID reused #2755 so use is_running in the loop
# Note: not sure it is realy needed but CPU consumption look teh same with or without it
processlist = [p.info for p in processlist if p.is_running()]
# Sort the processes list by the current sort_key
processlist = sort_stats(processlist, sorted_by=self.sort_key, reverse=True)