Lieệt kê tiến trình của người dùng trên linux

Trong Linux, một phiên bản đang chạy của một chương trình được gọi là tiến trình. Thỉnh thoảng, khi làm việc trên máy Linux, bạn có thể cần tìm hiểu các quy trình hiện đang chạy.

Có một số lệnh mà bạn có thể sử dụng để tìm thông tin về các tiến trình đang chạy, với ps , pstree top là các lệnh được sử dụng phổ biến nhất.

Bài viết này giải thích cách sử dụng lệnh ps để liệt kê các quy trình hiện đang chạy và hiển thị thông tin về các quy trình đó.

Cách sử dụng lệnh ps

Cú pháp chung cho lệnh ps như sau:

ps

Vì lý do lịch sử và tương thích, lệnh ps chấp nhận một số loại tùy chọn khác nhau:

  • Các tùy chọn kiểu UNIX, trước một tùy chọn kiểu dash.BSD, được sử dụng mà không có tùy chọn dài dash.GNU, trước hai dấu gạch ngang.

Các loại tùy chọn khác nhau có thể được trộn lẫn, nhưng trong một số trường hợp cụ thể, xung đột có thể xuất hiện, vì vậy tốt nhất là gắn bó với một loại tùy chọn.

Các tùy chọn BSD và UNIX có thể được nhóm lại.

Ở dạng đơn giản nhất, khi được sử dụng mà không có tùy chọn nào, ps sẽ in bốn cột thông tin cho tối thiểu hai tiến trình đang chạy trong trình bao hiện tại, chính trình bao và các quy trình chạy trong trình bao khi lệnh được gọi.

ps

Đầu ra bao gồm thông tin về shell [ bash ] và tiến trình đang chạy trong shell này [ ps , lệnh mà bạn đã nhập]:

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Bốn cột được gắn nhãn PID , TTY , TIME CMD .

  • PID - ID tiến trình. Thông thường, khi chạy lệnh ps , thông tin quan trọng nhất mà người dùng đang tìm kiếm là quá trình PID. Biết được PID cho phép bạn tiêu diệt một quá trình trục trặc. TTY - Tên của thiết bị đầu cuối kiểm soát cho quá trình. TIME - Thời gian CPU tích lũy của quá trình, được hiển thị bằng phút và giây. CMD - Tên của lệnh đã được sử dụng để bắt đầu quá trình.

Đầu ra ở trên không hữu ích lắm vì nó không chứa nhiều thông tin. Sức mạnh thực sự của lệnh ps xuất hiện khi được khởi chạy với các tùy chọn bổ sung.

Lệnh ps chấp nhận một số lượng lớn các tùy chọn có thể được sử dụng để hiển thị một nhóm các quy trình cụ thể và thông tin khác nhau về quy trình, nhưng chỉ một số ít là cần thiết trong sử dụng hàng ngày.

ps được sử dụng thường xuyên nhất với sự kết hợp các tùy chọn sau:

Mẫu BSD:

ps aux

  • Tùy chọn cho ps hiển thị các quy trình của tất cả người dùng. Chỉ các quy trình không liên quan đến thiết bị đầu cuối và quy trình của các nhà lãnh đạo nhóm không được hiển thị. u là viết tắt của định dạng hướng người dùng cung cấp thông tin chi tiết về các quy trình. Tùy chọn x hướng dẫn ps liệt kê các quy trình mà không cần thiết bị đầu cuối kiểm soát. Đó là những quá trình chủ yếu được bắt đầu vào thời gian khởi động và chạy trong nền.

Lệnh hiển thị thông tin trong mười một cột có nhãn USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Chúng tôi đã giải thích các nhãn PID , TTY , TIME CMD . Dưới đây là một lời giải thích của các nhãn khác:

  • USER - Người dùng chạy quy trình. %CPU - Việc sử dụng cpu của quá trình. %MEM - Tỷ lệ phần trăm kích thước cài đặt thường trú của quy trình vào bộ nhớ vật lý trên máy. VSZ - Kích thước bộ nhớ ảo của quá trình trong KiB. RSS - Kích thước của bộ nhớ vật lý mà quá trình đang sử dụng. STAT - Mã trạng thái quá trình, chẳng hạn như Z [zombie], S [ngủ] và R [đang chạy]. START - Thời điểm lệnh bắt đầu.

Tùy chọn f yêu cầu ps hiển thị chế độ xem dạng cây của các tiến trình cha mẹ sang con:

ps auxf

Lệnh ps cũng cho phép bạn sắp xếp đầu ra. Ví dụ: để sắp xếp đầu ra dựa trên mức sử dụng bộ nhớ, bạn sẽ sử dụng:

ps aux --sort=-%mem

Hình thức UNIX:

ps -ef

  • Tùy chọn -e hướng dẫn ps hiển thị tất cả các quy trình. -f là danh sách định dạng đầy đủ, cung cấp thông tin chi tiết về các quy trình.

Lệnh hiển thị thông tin trong tám cột có nhãn UID , PID , PPID , C , STIME , TIME CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Các nhãn chưa được giải thích có ý nghĩa như sau:

  • UID - Giống như USER , người dùng chạy quy trình. PPID - ID của quy trình cha. C - Giống như %CPU , quá trình sử dụng CPU. STIME - Tương tự START , thời điểm lệnh bắt đầu.

Để chỉ xem các quy trình đang chạy như một người dùng cụ thể, hãy nhập lệnh sau, trong đó linuxize là tên của người dùng:

ps -f -U linuxize -u linuxize

Định dạng do người dùng xác định

Tùy chọn o cho phép bạn chỉ định cột nào được hiển thị khi chạy lệnh ps .

Ví dụ, để chỉ in thông tin về PID COMMAND , bạn sẽ chạy một trong các lệnh sau:

ps -efo pid, comm

ps auxo pid, comm

Sử dụng ps với các lệnh khác

ps có thể được sử dụng kết hợp với các lệnh khác thông qua đường ống.

ps -ef | less

Đầu ra của lệnh ps có thể được lọc bằng grep . Ví dụ: để chỉ hiển thị quá trình thuộc về người dùng root bạn sẽ chạy:

ps -ef | grep root

Phần kết luận

Lệnh ps là một trong những lệnh được sử dụng phổ biến nhất khi khắc phục sự cố trên các hệ thống Linux. Nó có nhiều tùy chọn, nhưng thông thường, hầu hết người dùng đang sử dụng ps aux hoặc ps -ef để thu thập thông tin về các quy trình đang chạy.

Để biết thêm thông tin về ps , hãy nhập man ps vào terminal của bạn.

thiết bị đầu cuối ps

Bài Viết Liên Quan

Chủ Đề