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 labex và grep -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ụngCOMMAND: 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!