Lệnh ps Linux: Theo dõi và Quản lý Tiến trình

Bạn muốn kiểm soát các tiến trình đang chạy trên hệ thống Linux của mình? Hãy khám phá sức mạnh của lệnh ps , công cụ không thể thiếu cho mọi người dùng Linux.

Giới thiệu về lệnh ps

ps (process status) là một lệnh dòng lệnh trong Linux dùng để hiển thị thông tin về các tiến trình đang chạy. Nó cung cấp một cái nhìn tổng quan về những gì đang diễn ra trên hệ thống của bạn. Lệnh ps rất hữu ích cho việc theo dõi tài nguyên hệ thống và gỡ lỗi ứng dụng. Linux là một hệ điều hành mã nguồn mở mạnh mẽ.

This article will provide a detailed explanation of the ps command in Linux.

Cú pháp cơ bản của lệnh ps

Cú pháp cơ bản của lệnh ps như sau:

ps [tùy chọn]

Nếu không có tùy chọn nào được chỉ định, ps sẽ hiển thị các tiến trình đang chạy trong terminal hiện tại. Nó chỉ hiển thị các tiến trình thuộc sở hữu của người dùng hiện tại.

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

Lệnh ps hỗ trợ rất nhiều tùy chọn khác nhau. Dưới đây là một số tùy chọn phổ biến nhất:

Tùy chọn a

Tùy chọn -a hiển thị thông tin về tất cả các tiến trình thuộc về tất cả người dùng.

ps -a

Tùy chọn u

Tùy chọn -u hiển thị thông tin về tiến trình cùng với tên người dùng sở hữu chúng.

ps -u

Tùy chọn x

Tùy chọn -x hiển thị các tiến trình không được liên kết với terminal (ví dụ: tiến trình nền).

ps -x

Tùy chọn aux

Kết hợp các tùy chọn -a , -u -x để hiển thị thông tin về tất cả các tiến trình, bao gồm cả tiến trình của người dùng khác và tiến trình nền. Đây là một trong những cách sử dụng phổ biến nhất của lệnh ps .

ps aux

Tùy chọn -ef

Tương tự như aux , -ef hiển thị thông tin đầy đủ về tiến trình, bao gồm cả cây tiến trình.

ps -ef

Tùy chọn -f

Hiển thị thông tin chi tiết về tiến trình, bao gồm cả UID, PID, PPID, C, STIME, TTY, TIME, CMD.

ps -f

Tùy chọn -p (PID)

Hiển thị thông tin về tiến trình có ID (PID) được chỉ định.

ps -p 1234

Tùy chọn --forest

Hiển thị các tiến trình dưới dạng cây, giúp bạn dễ dàng hình dung mối quan hệ cha-con giữa các tiến trình.

ps -ef --forest

Sử dụng lệnh ps kết hợp với grep

Bạn có thể sử dụng lệnh ps kết hợp với grep để lọc các tiến trình dựa trên tên hoặc các thuộc tính khác.

Ví dụ, để tìm tất cả các tiến trình liên quan đến "firefox", bạn có thể sử dụng lệnh sau:

ps aux | grep firefox

Ý nghĩa của các cột trong kết quả lệnh ps aux

Kết quả của lệnh ps aux hiển thị nhiều cột thông tin. Dưới đây là ý nghĩa của một số cột quan trọng:

  • USER: Tên người dùng sở hữu tiến trình.
  • PID: ID tiến trình (Process ID).
  • %CPU: Tỷ lệ sử dụng CPU của tiến trình.
  • %MEM: Tỷ lệ sử dụng bộ nhớ của tiến trình.
  • VSZ: Kích thước bộ nhớ ảo (Virtual Memory Size) mà tiến trình sử dụng.
  • RSS: Kích thước bộ nhớ vật lý (Resident Set Size) mà tiến trình sử dụng.
  • TTY: Terminal liên kết với tiến trình (nếu có).
  • STAT: Trạng thái của tiến trình.
  • START: Thời điểm tiến trình bắt đầu chạy.
  • TIME: Tổng thời gian CPU mà tiến trình đã sử dụng.
  • COMMAND: Lệnh được sử dụng để khởi chạy tiến trình.

Ví dụ nâng cao về lệnh ps

Hiển thị PID và tên lệnh của tất cả các tiến trình đang chạy:

ps -eo pid,comm

Hiển thị tiến trình sử dụng nhiều CPU nhất:

ps aux --sort=-%cpu | head -10

Hiển thị tiến trình sử dụng nhiều bộ nhớ nhất:

ps aux --sort=-%mem | head -10

Lệnh `ps` trong Linux là gì?

Lệnh `ps` (process status) là một lệnh dòng lệnh trong Linux dùng để hiển thị thông tin về các tiến trình đang chạy trên hệ thống. Nó cung cấp một cái nhìn tổng quan về những gì đang diễn ra trên hệ thống.

Làm thế nào để hiển thị tất cả các tiến trình đang chạy trên hệ thống?

Bạn có thể sử dụng lệnh `ps aux` để hiển thị thông tin về tất cả các tiến trình, bao gồm cả tiến trình của người dùng khác và tiến trình nền.

Làm thế nào để lọc các tiến trình dựa trên tên?

Bạn có thể sử dụng lệnh `ps` kết hợp với `grep` để lọc các tiến trình dựa trên tên. Ví dụ: `ps aux | grep firefox` sẽ hiển thị tất cả các tiến trình liên quan đến "firefox".

Ý nghĩa của cột `%CPU` trong kết quả lệnh `ps aux` là gì?

Cột `%CPU` hiển thị tỷ lệ sử dụng CPU của tiến trình.

Làm thế nào để hiển thị các tiến trình dưới dạng cây?

Bạn có thể sử dụng lệnh `ps -ef --forest` để hiển thị các tiến trình dưới dạng cây, giúp bạn dễ dàng hình dung mối quan hệ cha-con giữa các tiến trình.