Sunday, January 19, 2025

Hiển thị tất cả các tiến trình con của một tiến trình cha trong Linux sử dụng pstree và ps

-

Hiển thị tất cả các tiến trình con của một tiến trình cha trong Linux sử dụng pstree và ps

Giới thiệu

Có hai công cụ chính trong Linux để hiển thị các tiến trình con của một tiến trình cha: pstree và ps. Mỗi công cụ có những ưu và nhược điểm riêng, và lựa chọn công cụ nào tốt nhất cho bạn sẽ phụ thuộc vào nhu cầu cụ thể của bạn.

Cú pháp.

Lệnh pstree hiển thị cây tiến trình dưới dạng đồ thị. Để xem tất cả các tiến trình con của một tiến trình cha, bạn cần biết PID (Process ID) của tiến trình cha và chạy lệnh sau:

pstree -p <PID>

Trong đó, <PID> là Process ID của tiến trình cha.

Lệnh ps cung cấp thông tin về các tiến trình hiện tại. Để xem tất cả các tiến trình con của một tiến trình cha, bạn cần biết PID của tiến trình cha và chạy lệnh sau:

ps -o pid,ppid,cmd --ppid <PID>

Trong đó, <PID> là Process ID của tiến trình cha. Lệnh trên sẽ hiển thị PID, PPID (Parent Process ID) và lệnh đã khởi chạy tiến trình cho tất cả các tiến trình con của tiến trình cha.

Sử dụng pstree

pstree là một tiện ích dòng lệnh hiển thị các tiến trình đang chạy dưới dạng cây. Nó rất hữu ích để trực quan hóa cấu trúc phân cấp của các tiến trình và xác định các tiến trình con của một tiến trình cha cụ thể.

Để hiển thị tất cả các tiến trình con của một tiến trình cha có ID là 1234, hãy sử dụng lệnh sau:

pstree 1234

Bạn có thể sử dụng các tùy chọn khác nhau với pstree để tùy chỉnh đầu ra. Ví dụ: để hiển thị ID tiến trình (PID) cho mỗi tiến trình, hãy sử dụng tùy chọn -p:

pstree -p 1234

Sử dụng ps

ps là một tiện ích dòng lệnh linh hoạt hơn để hiển thị thông tin về các tiến trình đang chạy. Nó có thể được sử dụng để lọc các tiến trình theo nhiều tiêu chí khác nhau, bao gồm ID tiến trình, tên tiến trình và trạng thái tiến trình.

Để hiển thị tất cả các tiến trình con của một tiến trình cha có PID là 1234, hãy sử dụng lệnh sau:

ps -o pid,ppid,command | grep 1234 | awk '{print $2}' | xargs ps -o pid,command

Lệnh này đầu tiên sử dụng ps để hiển thị danh sách tất cả các tiến trình cùng với PID, PPID (ID tiến trình cha) và lệnh của chúng. Sau đó, nó sử dụng grep để lọc danh sách cho các tiến trình có PPID là 1234. Tiếp theo, nó sử dụng awk để trích xuất PID của mỗi tiến trình con. Cuối cùng, nó sử dụng ps một lần nữa để hiển thị lệnh cho mỗi PID con.

Lựa chọn công cụ nào phù hợp

Nếu bạn chỉ cần có một cái nhìn tổng quan nhanh về cấu trúc phân cấp của các tiến trình, pstree là một lựa chọn tốt. Tuy nhiên, nếu bạn cần lọc các tiến trình theo nhiều tiêu chí khác nhau hoặc trích xuất thông tin cụ thể về các tiến trình con, ps là một công cụ linh hoạt hơn.

Ngoài ra

  • Bạn có thể kết hợp pstree và ps để có được thông tin chi tiết hơn về các tiến trình con. Ví dụ: bạn có thể sử dụng pstree để xác định PID của các tiến trình con và sau đó sử dụng ps để hiển thị thông tin chi tiết về từng tiến trình con.
  • Có một số công cụ GUI khác có sẵn để hiển thị các tiến trình đang chạy, chẳng hạn như htop và glances. Các công cụ này có thể cung cấp cho bạn một cách trực quan hơn để xem các tiến trình và các tiến trình con của chúng.

Hy vọng thông tin này hữu ích cho bạn!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories