Get a refreshing list of running specific processes
Solution 1
You can watch any command so give this a try
watch "ps aux | grep python"
Solution 2
You can also use top instead of watch:
top -p $(ps ax | grep python | awk '{print $1}' | paste -sd "," -) -d 2
Related videos on Youtube
![FallenAngel](https://i.stack.imgur.com/2lWZH.jpg?s=256&g=1)
FallenAngel
Updated on September 18, 2022Comments
-
FallenAngel almost 2 years
I want to monitor running python processes with
VSZ, RSS %MEM, %CPU
etc. One of my priorities is a list refreshing every X seconds. I managed to come to the point of obtaining a refreshing list of processes usingps
andwatch
ps ax | grep python | awk '{print $1}' | xargs watch -n 15 ps u -p
That command simply find all the processes which includes
python
in its command line inps
and pass thepid
values towatch
.ps u -p 9221 10186 11640 12347 14076 14263 14317 19029 22099 24278 26161 32469
It is all fine, but that command evaluates the pid list only once and keep watching those
pid
s. What I need is executingps ax | grep python
command every X seconds and get a fresh list of running processes. That Way, I can see which process has started and which one had finished executing. -
FallenAngel almost 9 yearsThat command do not list all the processes, but only (this is my guess) the ones that are started on current session. I want to watch port listening python processes and some of the are running for weeks.
-
SarahG almost 9 yearsThen use
watch "ps aux | grep python"
-
SarahG almost 9 yearsThe point is getting the list of PIDs is not needed, you can just watch the output of a greped ps.
-
FallenAngel almost 9 yearsThat was a great way too, but is it possible to see the process command line since I can only see that it is a python process but can not understand
-
KieranLock almost 9 yearsYes you can: add -c option to end of line like:
top -p ... -d 2 -c