157

I want to see list of process created by specific user or group of user in Linux Can I do it using ps command or is there any other command to achieve this?

3 Answers3

208

To view only the processes owned by a specific user, use the following command:

top -U [username]

Replace the [username] with the required username

If you want to use ps then

ps -u [username]

OR

 ps -ef | grep <username>

OR

ps -efl | grep <username>

for the extended listing

Check out the man ps page for options

Another alternative is to use pstree wchich prints the process tree of the user

pstree <username or pid>
Stormvirux
  • 3,016
  • 3
  • 22
  • 25
  • 4
    All ... | grep <username> solutions don't work if you have two usernames which are longer than N chars. In my case N is 6. – guettli Jan 19 '18 at 10:44
  • 1
    Note: I got an error for top -U [username], and top -u [username] worked for me instead. Debian 9. So if anybody else gets an error with the -U form, try the lowercase. – Gloweye Oct 29 '18 at 09:08
  • 1
    Note: On FreeBSD it is ps -U <username> (notice the capital U) – Rahul Bharadwaj Apr 28 '21 at 17:13
8

try this one

ps -fp $(pgrep -u <username>)
4

Note that -e (show all processes) overrides -u and makes it be ignored.

I was passing -e all the time without knowing what the option does, because I usually used ps -ef, and that made -u not work.

So if you want full listing you can keep the -f:

ps -fu USERNAME

Tested on Ubuntu 22.10,

Ciro Santilli OurBigBook.com
  • 18,092
  • 4
  • 117
  • 102