37,744
社区成员




When interval is 0.0 or None compares process times to system CPU times elapsed since last call, returning immediately. That means the first time this is called it will return a meaningless 0.0 value which you are supposed to ignore.
In [163]: def get_cpu_percent(ids, interval=1.0):
...: processes = [psutil.Process(pid=i) for i in ids]
...: for p in processes:
...: p.cpu_percent(interval=None)
...: time.sleep(interval)
...: percents = [p.cpu_percent(interval=None) for p in processes]
...: return percents