How can I see what processes are running?

All we need is an easy explanation of the problem, so here it is.

I use Ubuntu Server 10.10 and I would like to see what processes are running. I know that PostgreSQL is running on my machine but I can not see it with the top or ps commands, so I assume that they aren’t showing all of the running processes. Is there another command which will show all running processes or is there any other parameters I can use with top or ps for this?

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

From the ps man page:

-e Select all processes. Identical to -A.

Thus, ps -e will display all of the processes. The common options for “give me everything” are ps -ely or ps aux, the latter is the BSD-style. Often, people then pipe this output to grep to search for a process, as in xenoterracide’s answer. In order to avoid also seeing grep itself in the output, you will often see something like:

 ps -ef | grep [f]oo

where foo is the process name you are looking for.

However, if you are looking for a particular process, I recommend using the pgrep command if it is available. I believe it is available on Ubuntu Server. Using pgrep means you avoid the race condition mentioned above. It also provides some other features that would require increasingly complicated grep trickery to replicate. The syntax is simple:

pgrep foo

where foo is the process for which you are looking. By default, it will simply output the Process ID (PID) of the process, if it finds one. See man pgrep for other output options. I found the following page very helpful:

http://mywiki.wooledge.org/ProcessManagement

Method 2

have you tried ps aux | grep postgres? it really should show up if postgres is running. If it doesn’t… how do you know postgres is running?

(note: it’s a common misconception that’s it’s ps -aux but that’s not correct)

Method 3

Answer including Filtering its Output Effectively Along with Automated bash Function

ps -elf | head -n 1; ps -elf | grep -i search_term | grep -v grep | grep -v "ps -elf"

Replace search_term above with any term you wish to search on to find 0 or more processes, for instance term.

Example usage:

ps -elf | head -n 1; ps -elf | grep -i term | grep -v grep | grep -v "ps -elf"

Output:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 S user     14919  1394  0  80   0 - 217553 poll_s 04:14 ?       00:00:12 /usr/lib/gnome-terminal/gnome-terminal-server

Automate

In the root of your home directory, if you do not already have a .bash_aliases file, type the following:

touch .bash_aliases

Next, add a function to do the commands to the end of your .bash_aliases file:

echo 'pself() { ps -elf | head -n 1; ps -elf | grep -i "$1" | grep -v grep | grep -v "ps -elf"; }' >> .bash_aliases

Example usage (open up a new terminal window first):

pself term

Output:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 S user     14919  1394  0  80   0 - 217553 poll_s 04:14 ?       00:00:12 /usr/lib/gnome-terminal/gnome-terminal-server

(Above tested on Ubuntu 18.04).

Article explaining all this in detail: here

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply