python查詢進程下所有線程運行核信息


import subprocess

def core_run_info():
  out_bytes = subprocess.check_output("pgrep 'your exe comand' | xargs", shell=True)
  out_text = out_bytes.decode('utf-8')

  processId = out_text[:-1].split(' ')
  if processId[0] == '':
    print('no running  processes!!!')
    return
  print('Total [%d] processes%s'%(len(processId), processId))
  for process in processId:
    print(' ------------- processId:', process, '------------------')
    cmd = "ls /proc/" + process + "/task/ | xargs"
    tasks = subprocess.check_output(cmd, shell=True)
    task_text = tasks.decode('utf-8')

    task = task_text[:-1].split(' ')

    for taskId in task:
      cmd = "cat /proc/" + process + "/task/" + taskId + "/status | egrep 'Name|Cpus_allowed_list'| awk '{print $2 }' | xargs"    
      tasks = subprocess.check_output(cmd, shell=True)

      task_text = tasks.decode('utf-8')
      threadName = task_text.split(' ')[0]
      Cpus_allowed_list = task_text.split(' ')[1][:-1]
      print('  taskId :[ %-6s]   threadName : %-16s Cpus_allowed_list : %s'%(taskId,threadName,Cpus_allowed_list))
  return

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM