[問題] 如何得知psutil.popen用了多少個Cpu/Thread?

作者: abstract1 (abstract1)   2021-08-21 10:56:19
我有一個python script
裡面用psutil.popen()以shell的方式執行另外一個program, 如下
proc = psutil.Popen(
"/bin/<some_program>",
stdout=sys.stdout,
stderr=subprocess.STDOUT,
shell=True,
executable="/bin/csh",
)
那麼 我該如何得知, 這個proc用了多少個CPU或Thread來執行?
查了一下大多是cpu_times() 或 cpu_percent(), 這些function return的都是使用率
而不是"幾個"
想得知用了多少個CPU或Thread, 目的是想知道popen執行的那個program
它的peak_cpu是多少
目前是用以下方式得知用的thread個數, 但不確定這個數字正不正確,
因為跑出來都是1
peak_cpu = subprocess.check_output(f"ls /proc/{proc.pid}/task | wc -l",
shell=True).decode("utf-8")
while proc.poll() is None:
cpu = subprocess.check_output(f"ls /proc/{proc.pid}/task | wc -l",
shell=True).decode("utf-8")
if cpu > peak_cpu:
peak_cpu = cpu
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com