Cách hiển thị thông tin quy trình trên hệ thống Linux bằng lệnh Ps

Cách hiển thị thông tin quy trình trên hệ thống Linux bằng lệnh Ps

Chia sẻ kiến thức 04/03/2022

Nếu bạn muốn biết những tiến trình nào đang chạy trên máy tính Linux của bạn, hãy sử dụng lệnh ps. Bài viết này sẽ hướng dẫn bạn cách dùng. 

Cách hiển thị thông tin quy trình trên hệ thống Linux bằng lệnh Ps
 

Trong các hệ điều hành đa quy trình như Linux, các quy trình (process) tạo thành một phần không thể thiếu trong quy trình làm việc của hệ thống. Đôi khi, người dùng cần liệt kê các tiến trình đang chạy trên hệ thống để phục vụ mục đích giám sát. Trong những tình huống như vậy, các tiện ích dòng lệnh Linux có thể hữu ích.

Lệnh ps là một trong những công cụ hiển thị thông tin liên quan đến các quy trình trên hệ thống Linux. Hãy xem lệnh ps và một số ví dụ về cách sử dụng nó.

1. Lệnh ps là gì?

Quy trình là thành phần cơ bản của việc tính toán (computing) trong máy Linux. Mỗi chương trình bạn mở thực thi một hoặc nhiều quy trình chịu trách nhiệm về hoạt động của máy tính. Từ một ứng dụng chỉnh sửa video nâng cao đến một tiện ích đơn giản như lệnh mv, mọi thứ đều bao gồm các quy trình.

Lệnh ps, viết tắt của Process Status (trạng thái quy trình), rất hữu ích khi bạn muốn lấy danh sách tất cả các tiến trình đang chạy trên hệ thống của mình. Lệnh này cũng cung cấp các thông tin liên quan đến các quy trình này cho người dùng.

2. Cách sử dụng lệnh ps trong Linux

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

ps [options]

Chạy lệnh ps mà không có bất kỳ đối số nào sẽ tạo ra kết quả sau:

ps

Thông tin sau được cung cấp trong kết quả nói trên.

  • PID: ID quy trình của quy trình được đánh dấu
  • TTY: Hiển thị tên của terminal bạn đang sử dụng
  • TIME: Thời gian được CPU phân bổ cho quy trình
  • CMD: Lệnh chịu trách nhiệm khởi chạy quy trình

2.1 Liệt kê tất cả các quy trình

Để có danh sách tất cả các quy trình trên hệ thống Linux, hãy sử dụng flag -A hoặc -e với lệnh ps.

ps -A
ps -e

2.2 Xem các quy trình được liên kết với terminal

Flag -T sẽ hiển thị danh sách tất cả các quá trình liên quan đến terminal.

ps -T

Bạn sẽ thấy một đầu ra giống như thế này.

>>> Đọc ngay: 6 yếu tố cần xem xét khi lựa chọn một bản phân phối Linux

2.3 Xem các quy trình không liên quan đến terminal

Flag -a sẽ liệt kê các quy trình không được liên kết với terminal hiện tại.

ps -a

Màn hình sẽ hiển thị một đầu ra.

2.4 Phủ nhận các tùy chọn được chỉ định

Bạn cũng có thể sử dụng flag -N hoặc –deselect với lệnh ps để đảo ngược hoạt động của một đối số cụ thể.

Ví dụ, tùy chọn -T hiển thị các quy trình được liên kết với terminal. Thêm flag -N hoặc –deselect vào lệnh sẽ hiển thị các quy trình không được liên kết với terminal hiện tại.

ps -T -N
ps -T --deselect

2.5 Hiển thị các cột tùy chỉnh trong đầu ra

Lệnh ps mặc định hiển thị các cột sau: PID, TTY, TIME và CMD. Tuy nhiên, bạn có thể chỉnh sửa các cột này và hiển thị các chi tiết khác.

Flag -eo cho phép bạn chỉ định các cột mà bạn muốn lấy trong đầu ra.

ps -eo pid, uname, pcpu, stime, pri, f

2.6 Đổi tên các cột trong đầu ra

Bạn cũng có thể đổi tên các nhãn cột trong đầu ra. Flag -o sẽ cho phép bạn làm điều này.

ps -e -o pid=Process_ID, uid=User_ID, com=COMMAND

>>> Đọc ngay: Cách bắt đầu sử dụng Linux

2.7 Liệt kê các quy trình hiện đang chạy

Để nhận danh sách các quy trình hiện đang chạy trên hệ thống của bạn, hãy chuyển flag -ax bằng lệnh ps. -A là viết tắt của All .

ps -ax

2.8 Các quy trình hiển thị ở định dạng BSD

Định dạng Linux truyền đối số bằng lệnh sử dụng ký tự  (gạch nối). Mặt khác, định dạng BSD không bao gồm bất kỳ ký tự đặc biệt nào với flag đối số.

Ví dụ, ps -A (định dạng Linux) sẽ hiển thị danh sách tất cả các quy trình. BSD tương đương với lệnh này là:

ps au

trong đó a là viết tắt của All (Tất cả) và u biểu thị user (người dùng).

2.9 Danh sách định dạng đầy đủ các quy trình

Để nhận thông tin chi tiết liên quan đến các quy trình, hãy chuyển tùy chọn -ef hoặc -eF bằng lệnh.

ps -ef
ps -eF

Đầu ra được đề cập ở trên chứa các thông tin sau về các quy trình.

  • UID: ID người dùng của người dùng chịu trách nhiệm về quy trình
  • PID: ID quy trình của mục nhập
  • PPID: ID quy trình của quy trình mẹ (parent process)
  • C: Thông tin về lịch chạy và lượng sử dụng CPU của quy trình
  • STIME: Thời gian bắt đầu quy trình
  • TTY: Tên của terminal mà bạn hiện đang sử dụng
  • TIME: Lượng thời gian CPU được sử dụng bởi quy trình
  • CMD: Lệnh thực thi quy trình

Tùy chọn -u hiển thị danh sách tất cả các quy trình được bắt đầu bởi một người dùng cụ thể.

ps -u username

Để hiển thị tất cả các quy trình được chạy bởi người dùng root, hãy chuyển quyền root bằng flag -U và -u.

ps -U root -u root

2.12 Nhận PID quy trình

Để lấy ID quy trình của một quy trình cụ thể, hãy sử dụng flag -C với lệnh.

ps -C process-name

Thay thế process-name bằng tên của quy trình. Đầu ra sẽ hiển thị ID của quá trình.

ps -C bash

>>> Đọc ngay: Cách cài đặt Microsoft Office trên Linux

2.13 Liệt kê các luồng (thread) của một quy trình cụ thể

Bạn có thể biết rằng một quy trình có thể chứa nhiều luồng, mỗi luồng chịu trách nhiệm cho một nhiệm vụ cụ thể. Để hiển thị danh sách các luồng của một tiến trình, hãy sử dụng flag (cờ) -L với lệnh ps. Lưu ý rằng bạn sẽ phải chuyển ID quy trình của tiến trình cùng với lệnh.

ps -L pid

Ví dụ

ps -L 1250

2.14 Quy trình hiển thị được liên kết với một nhóm cụ thể

Lấy danh sách các quy trình liên quan đến một nhóm nhất định cũng dễ dàng. Sử dụng cờ -fG với lệnh mặc định.

ps -fG groupname

Ngoài ra, bạn cũng có thể chuyển ID nhóm thay vì tên nhóm (group name)

ps -fG groupid

Ví dụ

ps -fG sudoers
ps -fg 1000

2.15 Hiển thị các quy trình ở định dạng cây

Để có được biểu diễn dạng cây phân cấp của các tiến trình đang chạy trong Linux:

ps -f --forest -C bash

Lệnh nói trên sẽ hiển thị tất cả các tiến trình liên quan đến bash.

3. Giám sát các quá trình đang chạy trong Linux

Biết được quy trình nào đang chạy trên máy tính của bạn có thể hữu ích nếu bạn thiếu tài nguyên. Bạn có thể dễ dàng loại bỏ các tiến trình Linux không phản hồi mà bạn không muốn trên hệ thống của mình bằng dòng lệnh.

Dịch từ: https://www.makeuseof.com/ps-command-linux/

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

Cách tạo ảnh Mosaic trên Linux với Polyfoto

Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote

Cách sử dụng lệnh wc trong Linux

Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux

 

Vân Nguyễn

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại