8 công dụng và cách sử dụng lệnh ps trong Linux
Thịnh Văn Hạnh 12/01/2023 1544 Lượt xem Chia sẻ bài viết
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. Trong bài viết này, hãy cùng BKNS tìm hiểu kĩ hơn về loại lệnh này nhé.
Tóm Tắt Bài Viết
- 1 Ps trong Linux là gì?
- 2 Công dụng lệnh ps trong Linux
- 2.1 Nhận thêm thông tin về các quy trình
- 2.2 Hiển thị các quy trình do người dùng hiện tại sở hữu
- 2.3 Dùng lệnh ps trong Linux -u flag với -x flag
- 2.4 Liệt kê tất cả các quy trình trên hệ thống
- 2.5 Threads
- 2.6 Full format listing và extra full format listing
- 2.7 Quá trình xác định dựa trên PID
- 2.8 Hiển thị quá trình theo tên lệnh
- 3 Lời kết
Ps trong Linux là gì?
Lệnh 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ì?
Chúng ta có thể thấy bốn tham số được hiển thị về các process đang chạy:
- ID: 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
Nhận thêm thông tin về các quy trình
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
Hiển thị các quy trình do người dùng hiện tại sở hữu
Đâ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
Dùng lệnh ps trong Linux -u flag với -x flag
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
Liệt kê tất cả 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.
Threads
$ ps -m
Hiển thị các thread sau các quy trình.
$ ps -T
Threads
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.
Full format listing và extra full format listing
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 đủ.
Quá trình xác định dựa trên 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]
Hiển thị quá trình theo tên lệnh
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]
Lời kết
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.
Cảm ơn bạn đã đón đọc bài viết. Có thể bạn cũng quan tâm đến:
>> CAPTCHA là gì? Tất tần tât về Capcha
>> Trigger trong SQL là gì ? Cách tạo và ví dụ về Trigger SQL Server
>> Top 10 Extension VSC Hay Nhất Cho Lập Trình Viên
Theo dõi BKNS thường xuyên hơn tại các nền tảng mạng xã hội:
>> Fanpage: https://www.facebook.com/bkns.vn
>> Youtube: https://www.youtube.com/c/BknsVn1
>> Pinterest: https://www.pinterest.com/bknsvn/
>> LinkedIn: https://www.linkedin.com/company/bkns-vn/
[mautic type=”form” id=”6″]