How to Use the ps Command to Find Running Processes on Linux

29/12/2020
Chưa phân loại
The full form of ps is process status. It is a command used to find information about currently running processes on Linux. ps is a very important command of Linux.In this article, I will show you how to use the ps command to find running processes on Linux. So, let’s get started.

Different Types of Options:

The ps command accepts different options.

  1. UNIX options – have leading dash.
    $ ps -e
  1. BSD options – don’t have leading dash.
    $ ps aux
  1. GNU options – have double leading dash.
    $ ps –pid 1001

In this example, I will use the UNIX and at times GNU options. But the BSD options are similar. Most of the time, you can mix them together without any problems. Although, you can’t mix some of the options together as it won’t work. So, be careful.

Finding All Running Processes:

With ps command, you can find all the running processes on your machine.

To find all the running processes with ps, use ps as follows,

$ ps -ef

As you can see, the UID (User ID), PID (process ID), PPID (parent process ID), CMD (command used to run the process) and some other information about all the running processes are displayed.

You can list all the running processes with different ps options combination. They will show different information about the running processes. You can actually tell ps to display specific information, which we will get to in the later section.

$ ps -e

As you can see, ps -e shows the PID, TTY (terminal number), TIME (process running time) and CMD of the running processes. That’s a lot less information than earlier.

$ps -ef

It shows a lot of information about the running processes, but some of the columns such as C (processor utilization), SZ (size in physical pages), RSS (resident set size), PSR (processor that process is currently assigned to), STIME (the time when the process started) etc. are not displayed. So, it’s a little bit more compact than ps -eF.

Another variant of ps,

$ ps -ely

This one shows you UID (user ID), PRI (current priority of the process), NI (nice value) as well. So, it’s really handy.

Making ps Navigation Easy:

A typical Linux system has a lot of process running in the background. So, the output of the ps command is very long. It is harder to find useful information there. But, we can use a pager such as less to look for the processes a little bit easier.

You can use the less pager as follows:

$ ps -ef | less

The output of ps will be opened with less.

Now, you can use <Up> and <Down> arrow keys to navigate the list very easily.

You can also search for specific keywords here. This is really helpful for finding the processes that you’re looking for.

To search for a processes, let’s say acpi, type in the keyword as follows in the less pager.

/acpi

Now, press <Enter>.

As you can see, the process with the keyword acpi is highlighted.

You can also press n and p keys to go to the next and previous match (if available) respectively.

As you can see, I pressed n to and the next process with the keyword acpi is highlighted.

To exit out of the pager, press q.

Manually Select Columns to Display in ps:

The ps -e / ps -ef / ps -eF etc command shows some default columns. But, if you want, you can tell ps to show you specific columns, or add additional columns to the default set of columns.

For example, let’s say, you want to see only %MEM (percent memory usage), PID (process ID) and UID (process owner ID) and COMMAND (process command), then run ps as follows:

$ ps -e -o %mem,pid,uid,comm

As you can see, ps displayed only the information that I asked it for. Nothing more, nothing less.

The column keywors used here are %mem (for %MEM), pid (for PID), uid (for UID), comm (for COMMAND). ps supports a lot of keywords. You can find the whole list in the man page of ps.

Just open the man page of ps with the following command and navigate to the STANDARD FORMAT SPECIFIERS section as shown in the screenshot below.

$ man ps

If you want to display additional columns along with the default set of columns, then you can use the -O option to specify the columns that you want to see.

For example,

$ ps -ef -O %cpu

As you can see, I added %CPU and %MEM column along with the default columns of ps -ef command.

Sorting Output of ps Command:

You can also sort the output of ps according to any specific column or columns. You can sort the output of ps in the ascending or descending order depending on your requirement.

To sort the output of ps using any single column, you can use ps as follows:

$ ps -ef –sort=(+|)column_code

Some example will make it clearer.

Let’s say, you want to sort the processes depending on how long the process is running in ascending order. You can run ps as follows:

$ ps -ef –sort=+time

Or

$ ps -ef –sort=time

NOTE: The default is sorting in ascending order. So you can omit the + sign if you want.

As you can see, the output is sorted in the ascending order by the TIME column.

Again, let’s say, you want to sort the processes depending on how long the process is running in the descending order. Then, the ps command would be:

$ ps -ef –sort=-time

As you can see, the processes that are running for the longest is listed first.

If you want to sort by multiple columns, just add the columns as follows:

$ ps -ef –sort=time,-%mem,%cpu

Where to Go Next?

I’ve covered the basics of the ps command. Now, you should be able to learn more about the ps command from the man page of ps.

You can access the man page of ps as follows,

$ man ps

For example, you can find specific process if you know it’s PID using ps as follows:

$ ps -O %mem,%cpu -p 2060

NOTE: Here, 2060 is the PID of the process.

You can also search for processes owned by specific user or group etc as well.

For example, to find all the running processes of your login user, run ps as follows:

$ ps -O user,%mem,%cpu -U $(whoami)

NOTE: You can replace $(whoami) with any username you want to list processes running as that user.

So, that’s how you use ps command to find running processes on Linux. Thanks for reading this article.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Debian AppArmor Tutorial

AppArmor is a mandatory access control system for Linux. In a mandatory access control system (MAC), the kernel imposes...
29/12/2020

Hướng dẫn sử dụng Wireshark cơ bản

Wireshark là một chương trình phần mềm phân tích giao thức mạng nguồn mở do Gerald Combs khởi xướng...
30/12/2020

How to Mount USB Drive on Linux

Who does not want to interact with their computers in the most advanced and least conservative manner? It’s common for...
28/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

Huớng dẫn dùng proxy cho ios, iphone 2023
23/09/2023

Cách gắn set proxy cho điện thoại android, oppo, giả lập android, Ldplayer Bằng Proxydroid
20/09/2023

Mua Proxy Socks5 VN Chơi Game Gia Lập Tăng Cường Trải Nghiệm Chơi Game
22/06/2023

Mua Proxy Mỹ, Us Nuôi Tài Khoản Etsy, eBay Tìm Hiểu Về Mua Proxy Mỹ tại Onet.com.vn
22/06/2023

Mua Proxy Game – Giải pháp tuyệt vời cho việc chơi game trên mạng mà không bị giới hạn về vị trí địa lý
03/06/2023