Lệnh ps trong linux với các ví dụ dễ hiểu

Lệnh ps trong Linux là một công cụ mạnh mẽ để xem danh sách các tiến trình đang chạy trên hệ thống của bạn. Nó cho phép bạn theo dõi tài nguyên hệ thống và xác định các tiến trình chiếm dụng nhiều CPU hoặc bộ nhớ. Với ps, bạn có thể dễ dàng kiểm tra trạng thái và thông tin chi tiết của từng tiến trình một cách nhanh chóng. Hãy sử dụng ps để quản lý và giám sát hệ thống Linux hiệu quả hơn nhé!

Lệnh ps trong linux là gì?

Lệnh ps trong Linux là một command ps in linux rất hữu ích, cho phép bạn xem danh sách các tiến trình đang chạy trên hệ thống của mình một cách dễ dàng. Nó cung cấp thông tin chi tiết về từng tiến trình, bao gồm ID tiến trình (PID), trạng thái, mức sử dụng CPU và bộ nhớ. Bạn có thể sử dụng lệnh ps để theo dõi các tiến trình, tìm ra tiến trình nào đang chiếm nhiều tài nguyên và thậm chí là xác định các tiến trình "treo". Với nhiều tùy chọn khác nhau, command ps in linux giúp bạn quản lý hệ thống hiệu quả hơn, đặc biệt khi cần xử lý các vấn đề liên quan đến hiệu suất.

Tìm hiểu về Lệnh ps

Trong bước này, bạn sẽ tìm hiểu về lệnh ps (process status), một lệnh Linux cơ bản để hiển thị thông tin về các process đang chạy trên hệ thống.

Lệnh ps cung cấp một ảnh chụp nhanh về các process hiện tại đang chạy trên hệ thống, bao gồm Process ID (PID), user, mức sử dụng CPU và memory, cùng các thông tin liên quan khác.

Hãy bắt đầu bằng cách chạy lệnh ps cơ bản:

ps

Ví dụ về kết quả:

  PID TTY          TIME CMD
 1234 pts/0    00:00:00 bash
 5678 pts/0    00:00:00 ps

Kết quả hiển thị process shell hiện tại (bash) và chính lệnh ps.

Để xem thông tin chi tiết hơn về các process đang chạy, bạn có thể sử dụng các tùy chọn sau:

ps -ef

Ví dụ về kết quả:

UID        PID  PPID  C STIME TTY          TIME CMD
labex     1234  4321  0 10:30 pts/0    00:00:00 /bin/bash
labex     5678  1234  0 10:30 pts/0    00:00:00 ps -ef

Tùy chọn -e hiển thị tất cả các process, và tùy chọn -f cung cấp danh sách đầy đủ, bao gồm User ID (UID), Process ID (PID), Parent Process ID (PPID), mức sử dụng CPU (C), thời gian bắt đầu (STIME), terminal (TTY), thời gian CPU (TIME) và lệnh (CMD).

Bạn cũng có thể lọc kết quả theo các tiêu chí cụ thể, chẳng hạn như user đang chạy các process:

ps -u labex

Ví dụ về kết quả:

  PID TTY          TIME CMD
 1234 pts/0    00:00:00 bash
 5678 pts/0    00:00:00 ps

Lệnh này hiển thị tất cả các process thuộc sở hữu của user labex.

Lọc Tiến Trình Theo Người Dùng

Trong bước này, bạn sẽ học cách lọc danh sách các tiến trình đang chạy theo người dùng sở hữu chúng.

Lệnh ps cung cấp nhiều tùy chọn để lọc danh sách tiến trình, một trong số đó là tùy chọn -u hoặc --user. Tùy chọn này cho phép bạn hiển thị các tiến trình thuộc sở hữu của một người dùng cụ thể.

Hãy bắt đầu bằng cách liệt kê tất cả các tiến trình thuộc sở hữu của người dùng labex:

ps -u labex

Ví dụ về đầu ra:

  PID TTY          TIME CMD
 1234 pts/0    00:00:00 bash
 5678 pts/0    00:00:00 ps

Lệnh này hiển thị tất cả các tiến trình thuộc sở hữu của người dùng labex.

Bạn cũng có thể sử dụng lệnh grep để lọc thêm đầu ra của lệnh ps. Ví dụ: để tìm tất cả các tiến trình thuộc sở hữu của người dùng labex đang chạy lệnh bash:

ps -ef | grep -i labex | grep -i bash

Ví dụ về đầu ra:

labex     1234  4321  0 10:30 pts/0    00:00:00 /bin/bash

Trong lệnh này, ps -ef liệt kê tất cả các tiến trình, grep -i labex lọc đầu ra để chỉ hiển thị các tiến trình thuộc sở hữu của người dùng labexgrep -i bash lọc đầu ra để chỉ hiển thị các tiến trình đang chạy lệnh bash.

Tùy chọn -i trong các lệnh grep làm cho tìm kiếm không phân biệt chữ hoa chữ thường, vì vậy nó sẽ khớp với cả chữ hoa và chữ thường của "labex" và "bash".

Theo dõi mức sử dụng CPU và bộ nhớ

Trong bước này, bạn sẽ học cách sử dụng lệnh ps để theo dõi CPU và bộ nhớ của các tiến trình đang chạy.

Để xem mức sử dụng CPU và bộ nhớ của tất cả các tiến trình, bạn có thể dùng lệnh ps với tùy chọn -o để tùy chỉnh đầu ra:

ps -eo pid,user,%cpu,%mem,cmd

Ví dụ về đầu ra:

  PID USER     %CPU %MEM COMMAND
 1234 labex     2.0  0.1 /bin/bash
 5678 labex     0.5  0.2 ps -eo pid,user,%cpu,%mem,cmd

Lệnh này hiển thị các thông tin sau cho mỗi tiến trình:

  • PID: ID của tiến trình (Process ID)
  • USER: Người dùng sở hữu tiến trình
  • %CPU: Phần trăm CPU mà tiến trình sử dụng
  • %MEM: Phần trăm bộ nhớ mà tiến trình sử dụng
  • COMMAND: Lệnh đã khởi chạy tiến trình

Bạn cũng có thể sắp xếp đầu ra theo mức sử dụng CPU hoặc bộ nhớ để xác định tiến trình nào đang dùng nhiều tài nguyên hệ thống nhất:

ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu

Ví dụ về đầu ra:

  PID USER     %CPU %MEM COMMAND
 5678 labex     2.0  0.2 ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu
 1234 labex     1.5  0.1 /bin/bash

Lệnh này sắp xếp đầu ra theo mức sử dụng CPU giảm dần, tiến trình dùng nhiều CPU nhất sẽ hiển thị đầu tiên.

Tương tự, bạn có thể sắp xếp theo mức sử dụng bộ nhớ:

ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem

Ví dụ về đầu ra:

  PID USER     %CPU %MEM COMMAND
 5678 labex     2.0  0.2 ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem
 1234 labex     1.5  0.1 /bin/bash

Lệnh này sắp xếp đầu ra theo mức sử dụng bộ nhớ giảm dần, tiến trình dùng nhiều bộ nhớ nhất sẽ hiển thị đầu tiên.

Kết luận cho linux ps command

Vậy là chúng ta đã cùng nhau khám phá lệnh ps, một công cụ vô cùng hữu ích trong thế giới Linux. Hy vọng qua bài viết này, bạn đã nắm vững cách sử dụng linux ps command để theo dõi và quản lý các tiến trình đang chạy trên hệ thống. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau để hiểu rõ hơn về sức mạnh của nó. Việc làm quen với lệnh này sẽ giúp bạn kiểm soát hệ thống tốt hơn, phát hiện và xử lý các vấn đề một cách nhanh chóng. Hãy nhớ rằng, thực hành là chìa khóa để thành thạo bất kỳ công cụ nào, kể cả lệnh ps. Chúc bạn thành công trên con đường chinh phục Linux và trở thành một người dùng thông thạo!

Last Updated : 14/10/2025