pstree là một lệnh mạnh mẽ và hữu ích để hiển thị các tiến trình đang chạy trong Linux. Giống như ps đồng hành của nó, nó cho thấy tất cả các tiến trình đang chạy đang hoạt động trên hệ thống đăng nhập của bạn. Sự khác biệt chính là các quy trình được tổ chức trong một cây thay vì trong một danh sách. Cây này hiển thị các quá trình trong mối quan hệ cha-con. Quá trình cha mẹ là quá trình sinh sản, tạo ra tất cả các tiến trình con bên dưới nó.

Cấu trúc pstree tương tự như các thư mục phân cấp trên các hệ thống Unix như Linux và macOS. Sử dụng cấu trúc này, bạn có thể nhanh chóng điều hướng qua cây xử lý của bạn để khám phá những quy trình sinh sản hoặc kiểm soát lẫn nhau. Điều này cho phép loại bỏ chính xác các quy trình phiền hà hoặc không kiểm soát được bằng lệnh kill .

Liên quan : Bắt đầu với lệnh Awk

Chạy pstree

Để chạy dạng cơ bản của lệnh, hãy mở cửa sổ Terminal và gõ lệnh sau, sau đó nhấn Enter:

 pstree 

Lệnh này một mình sẽ hiển thị một danh sách tất cả các tiến trình đang chạy. Quá trình ở trên cùng ( systemd trong trường hợp này) là quá trình cha mẹ cho tất cả mọi thứ đang chạy trên máy tính của bạn. Các quá trình bên dưới nó được sinh ra hoặc mở thông qua systemd. Các lớp thụt lề khác cho thấy các mối quan hệ tương tự, giống như một cây gia đình.

Cấu trúc cơ bản của pstree có thể được nhìn thấy trong iamage sau.

 cha mẹ ———— đứa trẻ (1) ———— đứa con (1) | | --subchild (2) | | -child (2) 

Theo mặc định, các quy trình có cùng một cấp độ gốc sẽ được sắp xếp theo thứ tự bảng chữ cái. Có nhiều cách khác để sắp xếp trong pstree bằng cách sử dụng cờ mà chúng ta thảo luận dưới đây.

Sử dụng pstree với Flags

Giống như hầu hết các chương trình thiết bị đầu cuối, có nhiều hơn để pstree hơn chỉ là lệnh duy nhất. Ngoài chức năng cơ bản của pstree, các cờ khác nhau có thể kích hoạt đầu ra phức tạp hơn từ chương trình.

Để hiển thị thông tin nhận dạng quy trình, chúng tôi có thể sử dụng cờ -p, hiển thị số nhận dạng quy trình hoặc PID.

 pstree -p 

Chúng ta cũng có thể sắp xếp các tiến trình bằng PID thay vì tên với cờ -n .

 pstree -np 

Bạn có thể nhận thấy rằng đầu ra của pstree thường bị cắt ở rìa cửa sổ đầu cuối của bạn. Bạn có thể quản lý điều đó bằng cờ -l "kết thúc" các đường dài ở cạnh màn hình thiết bị đầu cuối của bạn.

 pstree -l 

Tuy nhiên, điều đó có thể làm cho đầu ra khó đọc một chút, như bạn có thể thấy ở trên.

Hiển thị các phần của cây

Bạn cũng có thể chỉ xem các phần của cây quá trình. Có hai cách để làm điều đó. Đầu tiên là với cờ- -s, cho phép bạn xem phụ huynh của tiến trình con bạn chỉ định. Bạn có thể gọi ra các tiến trình với PID của nó.

 pstree -s 780 

Bạn cũng có thể muốn xem các quy trình được sinh ra bởi người dùng hiện tại. Nếu bạn đang sử dụng hệ thống đa người dùng, điều này có thể cung cấp cho bạn ý tưởng tốt về việc ai đang làm những gì trên hệ thống của bạn. Trên một hệ thống người dùng duy nhất, nó không phải là thông tin. Để xem các quá trình sinh ra dưới một người dùng, chỉ cần gõ tên của người dùng sau lệnh chính.

 pstree alexander 

Điều đó sẽ hiển thị bất kỳ lệnh nào được thực thi theo tài khoản của người dùng đó, cho dù thông qua các chương trình người dùng chạy hoặc thông qua các lệnh mà họ thực hiện một cách rõ ràng.

Phần kết luận

Như mọi khi, mỗi phiên bản của Linux có thể có một chút xoắn trên lệnh này, nhưng nó phải rất chuẩn trên các cài đặt phổ biến. Để được trợ giúp về phiên bản của bạn, gõ man pstree vào dòng lệnh của bạn và nhấn Enter để mở trang hướng dẫn sử dụng lệnh, hoặc “man page”. Bạn cũng có thể xem trang man page cơ bản cho pstree.