Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn sử dụng lệnh ps trong Linux để xem thông tin tiến trình nhanh chóng

    Nguyễn Hưng

    Ngày đăng:

    17/03/2026

    Cập nhật lần cuối:

    17/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    17/03/2026

    Cập nhật lần cuối:

    17/03/2026

    Mục lục

    Lệnh ps trong Linux là công cụ dòng lệnh dùng để hiển thị thông tin về các tiến trình đang chạy trong hệ thống. Thông qua lệnh này, bạn có thể nhanh chóng kiểm tra trạng thái tiến trình, theo dõi mức sử dụng tài nguyên và hỗ trợ quản trị hệ thống hiệu quả hơn. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh ps trong Linux để xem thông tin tiến trình một cách nhanh chóng và chính xác.

    Những điểm chính

    • Khái niệm: Hiểu rõ lệnh ps là công cụ chụp ảnh trạng thái tiến trình, cung cấp các mã định danh PID và lệnh hệ thống tại thời điểm thực thi.
    • Lý do cần sử dụng: Biết cách tận dụng lệnh ps để xác định PID, giám sát hiệu suất CPU/RAM và phát hiện các tiến trình lỗi để tối ưu hóa tài nguyên server.
    • Phân biệt ps và top: Nắm vững sự khác biệt giữa chế độ xem tĩnh (ps) và động (top) để lựa chọn công cụ xác định hệ thống phù hợp cho từng tình huống.
    • Các tùy chọn phổ biến: Làm chủ các hệ thống tham số theo phong cách BSD (aux) hoặc System V (-ef) để tùy biến thông tin đầu ra theo nhu cầu quản trị.
    • Hướng dẫn sử dụng thực tế: Thành thạo kỹ năng liệt kê tiến trình toàn hệ thống, lọc dữ liệu theo tên bằng grep và hiển thị cấu trúc cây tiến trình trực quan.
    • Kiểm tra và xử lý lỗi: Biết cách giải mã các trạng thái tiến trình và khắc phục các lỗi cú pháp, lỗi hiển thị lệnh rác khi tìm kiếm.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp liên quan đến lệnh ps.

    Lệnh ps trong Linux là gì?

    Lệnh ps trong Linux là một công cụ dòng lệnh được sử dụng để hiển thị trạng thái của các tiến trình đang hoạt động trên hệ thống. Lệnh này cung cấp một snapshot về các chương trình đang chạy tại thời điểm thực thi, kèm theo các thông tin quan trọng. Cụ thể, khi chạy ps mà không thêm tham số nào, lệnh này sẽ hiện ra danh sách các tiến trình đang chạy trong cửa sổ terminal hiện tại của bạn với 4 thông số cơ bản:

    • PID (Process ID): Mã số định danh duy nhất của tiến trình.
    • TTY: Loại terminal mà tiến trình đang chạy.
    • TIME: Tổng thời gian CPU đã xử lý tiến trình đó.
    • CMD: Tên câu lệnh đã khởi động tiến trình.
    Lệnh ps trong Linux được sử dụng để hiển thị trạng thái của các tiến trình đang hoạt động trên hệ thống
    Lệnh ps trong Linux được sử dụng để hiển thị trạng thái của các tiến trình đang hoạt động trên hệ thống

    Lý do cần sử dụng lệnh ps Linux

    Lệnh ps là công cụ được sử dụng khi bạn cần biết chính xác tiến trình nào đang chạy, ai là chủ sở hữu và câu lệnh nào đã gọi chúng. Các trường hợp phổ biến cần sử dụng lệnh này như sau:

    • Xác định Process ID (PID): Lệnh ps sẽ cung cấp mã định danh duy nhất cần thiết để người dùng có thể buộc dừng các ứng dụng bị treo hoặc không phản hồi.
    • Giám sát hiệu suất: Chạy lệnh ps sẽ giúp bạn phát hiện nhanh các tiến trình đang chiếm dụng quá nhiều tài nguyên CPU hoặc bộ nhớ gây chậm hệ thống.
    • Kiểm tra trạng thái dịch vụ: Bạn có thể xác minh xem các phần mềm nền hoặc các script quan trọng có đang hoạt động hay không.
    • Kiểm tra đường dẫn thực thi: Lệnh ps cho phép xem chi tiết câu lệnh và các tham số được sử dụng khi khởi chạy để đảm bảo chương trình đang chạy đúng cấu hình.
    • Phát hiện tiến trình lỗi: Bạn có thể tìm ra các tiến trình ở trạng thái “Zombie” hoặc “Defunct” để tối ưu hóa tài nguyên khi chạy lệnh ps.
    Lý do cần sử dụng lệnh ps
    Lý do cần sử dụng lệnh ps

    Cách phân biệt lệnh ps và lệnh top trong Linux

    Lệnh ps cung cấp thông tin tĩnh tại thời điểm kiểm tra, trong khi lệnh top (hoặc htop) cung cấp thông tin động được cập nhật liên tục theo thời gian thực:

    Tiêu chíLệnh psLệnh top
    Cơ chế hoạt độngTĩnh (Snapshot): Chỉ hiển thị trạng thái tại đúng thời điểm bạn gõ lệnh.Động (Real-time): Cập nhật trạng thái hệ thống liên tục.
    Giao diệnDạng dòng lệnh.Dạng bảng điều khiển.
    Tương tácKhông: Bạn không thể điều khiển trực tiếp trên kết quả vừa hiện.Có: Bạn có thể bấm phím tắt để sắp xếp, kill tiến trình ngay trên màn hình.
    Mức tiêu thụRất ít tài nguyên hệ thống.Tốn tài nguyên hơn do phải quét và làm mới liên tục.
    Mục đích chínhTìm kiếm, lọc một tiến trình cụ thể.Giám sát sức khỏe hệ thống.

    Các tùy chọn phổ biến của lệnh ps

    Tùy chọn psChức năngCú pháp ví dụ
    psLiệt kê các tiến trình của người dùng hiện tại trong terminal hiện tại.ps
    ps -eHiển thị tất cả tiến trình đang chạy.ps -e
    ps -fHiển thị định dạng đầy đủ, thêm cột UID, PID của tiến trình cha.ps -f
    ps auxHiển thị tất cả tiến trình dưới định dạng BSD/Unix.ps aux
    ps -efHiển thị tất cả tiến trình dưới định dạng System V/POSIX.ps -ef
    ps -oChỉ định các cột đầu ra tùy chỉnh.ps -o pid,user,cmd
    ps –sortSắp xếp kết quả theo một cột cụ thể.ps -eo pid,pcpu --sort -pcpu

    Hướng dẫn dùng lệnh ps Linux để xem tiến trình 

    1. Xem các tiến trình cơ bản

    Để xem các tiến trình liên quan đến phiên terminal hiện tại của người dùng đang đăng nhập, bạn thực hiện lệnh như sau:

    ps

    Kết quả thường chỉ hiển thị hai tiến trình đó là tiến trình shell hiện tại là bash hoặc zsh và lệnh ps mà bạn vừa thực thi.

    Xem các tiến trình cơ bản
    Xem các tiến trình cơ bản

    2. Xem tất cả các tiến trình (BSD Style)

    Lệnh sau sẽ hiển thị tất cả các tiến trình đang chạy trên hệ thống, thuộc mọi người dùng và bao gồm cả các tiến trình nền:

    ps aux
    Xem tất cả các tiến trình (BSD Style)
    Xem tất cả các tiến trình (BSD Style)

    Trong đó:

    • a: Hiển thị các tiến trình của tất cả người dùng.
    • u: Định dạng chi tiết, hiển thị chủ sở hữu, mức sử dụng CPU/Memory.
    • x: Bao gồm các tiến trình không được đính kèm vào terminal (TTY).
    • Các cột quan trọng: USER (chủ sở hữu), PID, %CPU, %MEM, STAT (trạng thái), COMMAND (lệnh thực thi).

    3. Xem tất cả các tiến trình (System V Style)

    Để hiển thị tất cả các tiến trình bằng cú pháp System V (POSIX), bạn thực hiện lệnh như sau:

    ps -ef
    Xem tất cả các tiến trình (System V Style)
    Xem tất cả các tiến trình (System V Style)

    Kết quả hiển thị sẽ tương tự như ps aux, nhưng các cột đầu ra sẽ có một số sự khác biệt. Cột PPID (Parent Process ID) trong kết quả này rất quan trọng giúp bạn xác định tiến trình cha đã tạo ra tiến trình hiện tại.

    4. Lọc thông tin tiến trình bằng grep

    Bạn có thể tìm kiếm một tiến trình cụ thể theo tên hoặc từ khóa với cú pháp như sau:

    ps aux | grep <tên tiến trình>

    Ví dụ, để tìm kiếm các tiến trình web server Apache, bạn thực thi lệnh dưới đây:

    ps aux | grep apache2
    Lọc thông tin tiến trình bằng grep
    Lọc thông tin tiến trình bằng grep

    Kết quả là lệnh ps aux sẽ tạo ra danh sách tất cả tiến trình, sau đó kết quả được chuyển qua ký tự pipe (|) để lệnh grep lọc các dòng chứa từ khóa apache2.

    5. Xem cây tiến trình

    Để hiển thị mối quan hệ phân cấp giữa các tiến trình giúp người quản trị dễ dàng xác định nguồn gốc của các tiến trình nền, bạn thực hiện lệnh sau:

    ps -ef --forest
    Xem cây tiến trình
    Xem cây tiến trình

    Trong đó, tùy chọn --forest sẽ thêm một biểu đồ dạng ASCII minh họa cấu trúc cây, nối các tiến trình con với tiến trình cha của chúng (PPID).

    6. Chỉ định các cột đầu ra tùy chỉnh

    Để chỉ hiển thị những thông tin bạn thực sự cần, ví dụ như chỉ PID, chủ sở hữu và mức sử dụng bộ nhớ, bạn hãy thực hiện lệnh sau:

    ps -o <cột 1>,<cột 2>,<cột 3>

    Ví dụ:

    ps -eo pid,user,%mem,cmd
    Chỉ định các cột đầu ra tùy chỉnh
    Chỉ định các cột đầu ra tùy chỉnh

    Tùy chọn -o (output) hoặc -eo (Extended output) sẽ cho phép bạn liệt kê chính xác các cột mong muốn, ví dụ như pid, user, %mem, cmd.

    Kiểm tra kết quả và xử lý lỗi phổ biến khi dùng lệnh ps Linux

    Kiểm tra kết quả thành công

    Sau khi chạy lệnh ps, bạn hãy kiểm tra lại kết quả hiển thị để chắc chắn thông tin tiến trình là chính xác, tập trung vào các cột quan trọng như:

    • PID và COMMAND: Bạn cần đảm bảo PID của tiến trình và lệnh thực thi (COMMAND) được hiển thị chính xác.
    • STAT (Trạng thái): Bạn kiểm tra cột trạng thái của tiến trình với các trạng thái thường gặp bao gồm:
      • R: Running (Đang chạy).
      • S: Sleeping (Ngủ).
      • Z: Zombie (Tiến trình dừng hoạt động). 

    Lưu ý

    Tiến trình có trạng thái Z thường là dấu hiệu của lỗi hệ thống.

    Xử lý lỗi phổ biến khi chạy lệnh ps

    1. Lỗi: ps: invalid option — Z

    Lỗi này xảy ra khi bạn sử dụng kết hợp các tùy chọn của BSD style (không có dấu gạch ngang) với các tùy chọn của System V Style (có dấu gạch ngang). Để khắc phục, bạn hãy luôn dùng nhất quán giữa ps aux hoặc ps -ef và tuyệt đối không dùng ps -aux hay ps ef.

    Lỗi: ps: invalid option -- Z xảy ra khi bạn sử dụng kết hợp các tùy chọn của BSD style với System V Style.
    Lỗi: ps: invalid option — Z xảy ra khi bạn sử dụng kết hợp các tùy chọn của BSD style với System V Style.

    2. Lỗi: Lệnh grep bị hiển thị trong kết quả

    Khi bạn dùng lệnh ps aux | grep <tên>, lệnh grep cũng là một tiến trình đang chạy và chứa chuỗi tìm kiếm của bạn, do đó lệnh này sẽ hiện lên trong danh sách kết quả. Để khắc phục, bạn sửa lệnh grep bằng cách thêm dấu ngoặc vuông vào từ khóa tìm kiếm để ẩn tiến trình grep khỏi kết quả, ví dụ, thay vì tìm apache2, bạn hãy tìm [a]pache2.

    Câu hỏi thường gặp

    Làm thế nào để dừng một tiến trình sau khi tìm thấy bằng lệnh ps?

    Lệnh ps chỉ có chức năng hiển thị thông tin, không thể tác động trực tiếp lên tiến trình. Sau khi bạn tìm được PID của tiến trình cần dừng bằng lệnh ps, bạn hãy sử dụng lệnh kill kèm theo số PID đó.

    Trạng thái “Z” (Zombie) trong cột STAT nghĩa là gì?

    Tiến trình có trạng thái Z (Zombie) là tiến trình đã kết thúc việc thực thi nhưng vẫn còn tồn tại trong bảng tiến trình của hệ thống. Bạn không thể dùng lệnh kill để kết thúc trình Zombie trực tiếp, mà thường phải xử lý tiến trình cha hoặc chờ hệ thống tự dọn dẹp.

    Làm sao để sắp xếp các tiến trình theo mức tiêu thụ RAM thay vì CPU?

    Bạn có thể sử dụng tùy chọn –sort để sắp xếp kết quả. Để sắp xếp theo dung lượng bộ nhớ giảm dần, bạn hãy dùng lệnh sau:
    ps aux –sort -%mem

    Qua bài viết này, hy vọng bạn đã nắm vững cách sử dụng lệnh ps Linux để quản lý và theo dõi các tiến trình trên hệ thống. Mặc dù hiện nay có nhiều công cụ giám sát thời gian thực như top hay htop, nhưng ps vẫn giữ vai trò quan trọng nhờ khả năng trích xuất thông tin chi tiết, linh hoạt và dễ dàng kết hợp với các lệnh lọc khác. Hãy thực hành thường xuyên để làm chủ công cụ mạnh mẽ này, giúp hệ thống của bạn luôn vận hành trong trạng thái tốt nhất.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh top trong Linux để giám sát hiệu suất hệ thống
    Hướng dẫn sử dụng lệnh top trong Linux để giám sát hiệu suất hệ thống

    Lệnh top trong Linux là công cụ dòng lệnh dùng để theo dõi hoạt động của hệ thống theo thời gian thực, bao gồm CPU, bộ nhớ, tiến trình và mức tải hệ thống. Công cụ này giúp quản trị viên nhanh chóng phát hiện tiến trình tiêu tốn tài nguyên, từ đó tối ưu…

    17/03/2026

    Cách dùng lệnh visudo trên Linux để chỉnh sửa file sudoers an toàn
    Cách dùng lệnh visudo trên Linux để chỉnh sửa file sudoers an toàn

    Visudo là lệnh trong Linux dùng để chỉnh sửa file sudoers. Công cụ này giúp kiểm tra cú pháp trước khi lưu, giảm nguy cơ lỗi cấu hình có thể khiến hệ thống mất quyền quản trị. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh visudo để chỉnh sửa file…

    17/03/2026

    Hướng dẫn sử dụng lệnh last Linux để theo dõi lịch sử đăng nhập hệ thống hiệu quả
    Hướng dẫn sử dụng lệnh last Linux để theo dõi lịch sử đăng nhập hệ thống hiệu quả

    Lệnh last trong Linux là công cụ dùng để xem lại lịch sử đăng nhập và đăng xuất của người dùng trên hệ thống dựa trên dữ liệu được lưu trong file wtmp. Nhờ đó, quản trị viên có thể theo dõi hoạt động truy cập, phát hiện đăng nhập bất thường và hỗ trợ…

    17/03/2026

    Hướng dẫn dùng lệnh w Linux để kiểm tra người dùng đang đăng nhập vào hệ thống
    Hướng dẫn dùng lệnh w Linux để kiểm tra người dùng đang đăng nhập vào hệ thống

    Lệnh who trong Linux là công cụ dòng lệnh dùng để hiển thị danh sách người dùng hiện đang đăng nhập vào hệ thống cùng với thông tin phiên làm việc tương ứng. Nhờ đó, bạn có thể nhanh chóng kiểm tra trạng thái đăng nhập, theo dõi hoạt động của người dùng và hỗ…

    17/03/2026

    linux

    lenh

    text