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

看板Python作者 (abstract1)時間3年前 (2021/08/21 10:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我有一個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://www.ptt.cc/bbs/Python/M.1629514581.A.712.html
文章代碼(AID): #1X86jLSI (Python)
文章代碼(AID): #1X86jLSI (Python)