Hotline : 07 088 44444
Thích
Chia sẻ

8 công dụng và cách sử dụng lệnh ps trong Linux

13/08/2021

Lệnh ps trong Linux được sử dụng để liệt kê các tiến trình đang chạy. Lệnh ps có thể được sử dụng theo nhiều cách để lấy nhiều thông tin khác nhau về các tiến trình đang chạy. Chúng ta cùng xem xét một số điều quan trọng sau.

Ps trong Linux là gì?

Ps là từ viết tắt của Process Status hay là Process trong Linux đơn giản là một chương trình đang được vận hành. Mỗi phiên bản của một chương trình này là một process. Trình duyệt, trình phát nhạc hay là trình soạn thảo văn bản của bạn là tất cả các ví dụ về các process đang chạy cùng một lúc.

Lệnh ps trong Linux sẽ không có bất kỳ đối số nào hiển thị các process đang chạy trong phiên hiện tại.

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

Chúng ta có thể thấy bốn tham số được hiển thị về các process đang chạy:

  • PID: process ID.
  • TTY: Loại terminal.
  • TIME: Tổng thời gian process đã chạy.
  • CMD: tên của lệnh khởi chạy process.

Process thứ hai sẽ thực sự là lệnh ps trong Linux. Mọi lệnh mà chúng ta chạy trong terminal đều được Linux coi là một process.

Xem thêm: Các công lệnh trong Linux

Công dụng lệnh ps trong Linux

Nhận thêm thông tin về các quy trình

Lệnh ps trong Linux có thể được sử dụng với tùy chọn -u để hiển thị thêm thông tin về các quy trình.

$ ps -u
ps trong linux

Bây giờ cùng với PID, TTY, TIME, COMMAND, chúng ta có một số thông tin khác về các quy trình, chẳng hạn như USER,% CPU,% MEM.

  • %CPU đại diện cho sức mạnh tính toán mà quá trình đang sử dụng.
  • %MEM đại diện cho số lượng bộ nhớ mà quá trình đang sử dụng.
  • STAT đại diện cho trạng thái quá trình.

Định dạng hiển thị này được gọi là kiểu BSD.

Hiển thị các quy trình do người dùng hiện tại sở hữu

Lệnh này sẽ hiển thị tất cả các tiến trình thuộc sở hữu của người dùng đang chạy lệnh ps trong Linux.

$ ps -x
lệnh ps trong linux

Đây là những quy trình do người dùng sở hữu (trong trường hợp này là root). Những quy trình này không cần thiết phải chạy. Có một cách để liệt kê các quy trình cho người dùng và nhóm khác, chúng tôi sẽ đề cập cách này ở phần sau của bài viết.

Dùng lệnh ps trong Linux -u flag với -x flag

ps-ux là sự kết hợp hai lệnh bạn có thể đoán. Nó hiển thị thêm thông tin về các quy trình do người dùng sở hữu.

$ ps -ux
process trong linux

Trên thực tế, -u flag hầu như luôn được kết hợp với một số flag khác để có thêm các thông tin.

Liệt kê tất cả các quy trình trên hệ thống

Lệnh này sẽ hiển thị tất cả các quy trình trên hệ thống. Điều này sẽ không giới hạn danh sách các quy trình cho người dùng hiện tại hoặc các quy trình đang chạy.

$ ps -A

Hoặc

$ ps -e
sử dụng ps để liệt kê các quy trình trên hệ thống

Để in process tree dùng lệnh sau:

$ ps -eH 
process tree

Hoặc

$ ps -e --forest
process forest

ps -eH hiển thị các quy trình theo hệ thống phân cấp của chúng. Trong khi ps-e –forest hiển thị quy trình ở định dạng ASCII in chúng ra theo dạng cây.

Threads

Trong Linux, một thread là một phiên bản của chương trình đang được thực thi. Một quy trình có thể có nhiều thread.

Sử dụng lệnh ps trong Linux bạn cũng có thể liệt kê các thread.

$ ps -H

Lệnh này sẽ hiển thị các thread như thể chúng là các quy trình.

theards
$ ps -m

Hiển thị các thread sau các quy trình.

$ ps -T

Hiển thị các thread với SPID của chúng, là thread id và có thể giống như PID trong trường hợp chỉ có một thread.

Full format listing và extra full format listing

$ ps -f 

Lệnh này sẽ liệt kê thông tin về các quy trình theo cách liệt kê định dạng đầy đủ. Danh sách các định dạng đầy đủ hiển thị UID, PPID, C và STIME cùng với TIME, CMD và PID.

ps f
$ ps -F

Lệnh này liệt kê thông tin về các quy trình theo cách liệt kê định dạng đầy đủ hơn. Chúng ta có thể so sánh kết quả trước đó và xem thông tin bổ sung mà extra full format listing đang cung cấp.

Như bạn có thể thấy rằng chúng chúng ta hiện đang nhận được PPID và PID.

  • RSS là mức sử dụng bộ nhớ thực.
  • SIZE là mức sử dụng bộ nhớ ảo.
  • TIME là thời gian bắt đầu của quá trình.

Lệnh này có thể được kết hợp với -e và được sử dụng như lệnh ps -eF để nhận thông tin định dạng đầy đủ về tất cả các quy trình. Rất dễ để bị nhầm lẫn ps -f và ps -F với cùng một lệnh.

Quá trình xác định dựa trên PID

Bạn có thể hiển thị quy trình tương ứng với một PID cụ thể bằng cách sử dụng:

$ ps -fp [pid] 

Điều này sẽ hiển thị các quy trình với thông tin và định dạng đầy đủ. Bạn cũng có thể sử dụng ps -Fp [pid] để hiển thị các quy trình có thêm thông tin định dạng đầy đủ.

ps pid

Bạn có thể nhận được nhiều quy trình bằng cách đề cập đến nhiều PID được phân tách bằng dấu phẩy.

$ ps -fp [pid1],[pid2],[pid3] 

Quá trình xác định dựa trên PID gốc (PPID). Bạn có thể hiển thị các quy trình tương ứng với một PPD cụ thể bằng cách sử dụng:

$ ps -f --ppid [ppid]
ps trong linux ppid

Điều này hiển thị tất cả các quy trình với ID gốc là 1.

Hiển thị quá trình theo tên lệnh

Các quá trình có thể được chọn dựa trên tên lệnh:

$ ps -C [cmd name]
sử dụng ps hiển thị quá trình tên lệnh

Để hiển thị tất cả các quy trình cho một người dùng cụ thể:

$ ps -U [user_name]

Để hiển thị tất cả các quy trình cho một nhóm cụ thể:

$ ps -G [group_name] 

Kết luận

Lệnh ps trong Linux là một lệnh rất hữu ích và quan trọng. Nó có thể được sử dụng để quản lý các quy trình trong Linux. Còn rất nhiều điều cần tìm hiểu về lệnh ps, đây chỉ là một số trường hợp sử dụng lệnh ps trong Linux. Có thể tìm thấy thêm tài liệu về lệnh ps trong Linux ở nhiều trang web học tập khác nhau. Chúc các bạn thành công.

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments