Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
Creating Process Dictionary

My Goal: I need to create a function that retrieves the PID and Name of each process and returns them in a dictionary. I will be uploading this to Django and really need two different dictionaries. 1 with every running process name and PID and another with all installed names and PIDs. So far I can get it to print the dictionary well but not return correctly. Maybe I am calling it wrong. I am newer to this.

import psutil
def pid_name():
    for proc in psutil.process_iter():
        try:
            pinfo = proc.as_dict(attrs=['pid', 'name'])
        except psutil.NoSuchProcess:
            pass
        else:
            return pinfo

If you were to sub "return" for print the dict will print fine. How to I call that dict from here? Is it even returning correctly??

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You are returning only the first result because your return statement is inside the for block. Since you can't create a dictionary with duplicate keys, you should return a list of dictionaries instead. Try a list comprehension to return all the processes:

import psutil

def pid_name():
    return [proc.as_dict(attrs=['pid', 'name']) for proc in psutil.process_iter()]

Update:

If you are trying to create a dictionary with pids as keys and names as values, it's even easier:

def pid_name():
    return {proc.pid: proc.name() for proc in psutil.process_iter()}
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!