作者abstract1 (abstract1)
看板Python
标题[问题] 如何得知psutil.popen用了多少个Cpu/Thread?
时间Sat Aug 21 10:56:19 2021
我有一个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
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.74.156.203 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1629514581.A.712.html