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