How to check running process in Linux using command line

I am a new system administrator for the Linux operating system. How do I check running process in Linux using the command line option?

One can use the Linux command line or terminal app to display a running process, change their priorities level, delete process and more. This page shows how to use various commands to list, kill and manage process on Linux.

Check running process in Linux

The procedure to monitor the running process in Linux using the command line is as follows:

  1. Open the terminal window on Linux
  2. For remote Linux server use the ssh command for log in purpose
  3. Type the ps aux command to see all running process in Linux
  4. Alternatively, you can issue the top command or htop command to view running process in Linux

Let us see some example and usage in details.

NOTE: Please note that [email protected]:~$ is my shell prompt. You need to type commands after the $ prompt.

How to manage processes from the Linux terminal

The ps command is a traditional Linux command to lists running processes. The following command shows all processes running on your Linux based server or system:
[email protected]:~$ ps -aux
[email protected]:~$ sudo ps -a


The process ID (PID) is essential to kill or control process on Linux. For example consider the following outputs:

root         1  0.0  0.0 225868  9760 ?        Ss   19:10   0:13 /sbin/init splash

Where,

  1. root – User name
  2. 1 – PID (Linux process ID)
  3. 19:10 – Process start time
  4. /sbin/init splash – Actual process or command

There may be too many processes. Hence, it uses the following less command/more command as pipe to display process one screen at a time:
[email protected]:~$ ps -aux | more
[email protected]:~$ sudo ps -aux | less

Press q to exit from above Linux pagers. You can search for a particular Linux process using grep command/egrep command:
[email protected]:~$ ps aux | grep firefox
[email protected]:~$ sudo ps aux | grep vim
[email protected]:~$ sudo ps -aux | egrep 'sshd|openvpn|nginx'

Linux pgrep command

Many variants of Linux comes with the pgrep command to search/find process. The syntax is:
[email protected]:~$ pgrep {process}
[email protected]:~$ sudo pgrep sshd
[email protected]:~$ pgrep vim
[email protected]:~$ pgrep firefox
[email protected]:~$ pgrep -l nginx


The -l option passed to the pgrep command to display long format and process name too.

Linux top command

The top command is another highly recommended method to see your Linux servers resource usage. One can see a list of top process that using the most memory or CPU or disk.
[email protected]:~$ top
[email protected]:~$ sudo top
[email protected]:~$ sudo top [options]


Press q to exit from the top session and h to get help.

Linux htop command

The htop command is an interactive process viewer and recommended method for Linux users. One can see a list of top process that using the most memory or CPU or disk and more:
[email protected]:~$ htop
[email protected]:~$ sudo htop
[email protected]:~$ sudo htop [options]


See how to install htop on a CentOS/RHEL system for more info.

Linux kill command

Want to kill a process? Try kill command. The syntax is:
[email protected]:~$ kill pid
[email protected]:~$ kill -signal pid

Find PID using ps, pgrep or top commands. Say you want to kill a PID # 16750, run:
[email protected]:~$ kill 16750
For some reason if the process can not be killed, try forceful killing:
[email protected]:~$ kill -9 16750
OR
[email protected]:~$ kill -KILL 16750

Linux pkill command

If you wish to kill a process by name, try pkill command. The syntax is:
[email protected]:~$ pkill processName
[email protected]:~$ pkill vim
[email protected]:~$ pkill firefox
[email protected]:~$ pkill -9 emacs
[email protected]:~$ sudo pkill -KILL php7-fpm

Linux killall command

The killall command kills processes by name, as opposed to the selection by PID as done by kill command:
[email protected]:~$ killall vim
[email protected]:~$ killall -9 emacs

Linux nice and renice command

The primary purpose of the nice command is to run a process/command at a lower or higher priority. Use the renice command to alter the nice value of one or more running Linux processes. The nice value can range from -20 to 19, with 19 being the lowest priority. Say, you want to compile software on a busy Linux server. You can set a very low priority, enter:
[email protected]:~$ nice -n 13 cc -c *.c &
Set a very high priority for a kernel update. Before rebooting Linux server, run:

nice --10 wall <<end
System reboots in 5 minutes for Linux kernel update! 
Save all your work!!!
 
-- Sysadmin
end

nice –10 wall <<end
System reboots in 5 minutes for Linux kernel update!
Save all your work!!! — Sysadmin
end

To change the priority of a running process, type the following:
[email protected]:~$ renice {Priority} -p {PID}
[email protected]:~$ renice {Priority} {PID}
[email protected]:~$ pgrep vim
renice 10 69947
[email protected]:~$ sudo renice -10 $(pgrep vim)

Conclusion

This page showed how to manage the process on the Linux terminal. For further information see man pages or our example pages:

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.