测量子进程的 CPU 使用率但不包括孙进程

2 投票
1 回答
1203 浏览
提问于 2025-04-17 00:31

这可能是个显而易见的事情,但我就是搞不明白该怎么做。

假设我这样启动了一个进程:

    popen = subprocess.Popen(args, executable=executable,
                                  bufsize=-1,
                                  stdin=subprocess.PIPE,
                                  stdout=subprocess.PIPE,
                                  close_fds=True,
                                  env={})
    popen.wait()

有没有办法让我只测量这个子进程的CPU使用率,而不包括它的子进程和孙子进程呢?

   resource.getrusage(resource.RUSAGE_CHILDREN)

这样做会让我得到所有的子进程和孙子进程。

1 个回答

2

你可以使用 psutil 这个工具。

import psutil
popen = ...
p = psutil.Process(popen.pid)
print p.get_cpu_times()

撰写回答