How to get UID and PID

7,844

To get the UID from the username, use id -u:

$ id -u root
0
$ id -u lightdm
112
$ id -u nobody 
65534

But you are re-inventing the wheel. pgrep already handles this just fine:

$ pgrep -u www-data
1909
1910
1911
1912
$ id -u www-data   
33
$ pgrep -u 33      
1909
1910
1911
1912

You can also use plain ps:

$ ps -U www-data -o uid,pid
  UID   PID
   33  1909
   33  1910
   33  1911
   33  1912
Share:
7,844

Related videos on Youtube

Dee
Author by

Dee

Updated on September 18, 2022

Comments

  • Dee
    Dee over 1 year

    So here's what I want to do: User inputs a USERNAME. Based on this username, I need to get the list of processes started by this user. I am planning to do this by getting the UID of this user and listing all the processes with this UID. I only found UID in the /proc/$PID/status file. I am unclear about how do I proceed with this.

    • Dee
      Dee over 8 years
      I want to get the UID of the user. Once UID is available, I need to fetch all the PIDs that are under this UID (Basically, get all the processes started by this user). pgrep lists all the PIDs of a particular user, but I need the UID too.
    • AVJ
      AVJ over 8 years
      check this unix.stackexchange.com/questions/85466/… link. It will be helpful.
  • Dee
    Dee over 8 years
    Got it, pgrep was more than enough! Thanks a lot!