Hướng dẫn sử dụng lệnh pstree trên Linux

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ư lệnh ps, nó hiển thị tất cả các tiến trình hiện đang hoạt động trên hệ thống đăng nhập của bạn. Sự khác biệt chính là khi chạy lệnh pstree, các tiến trình được tổ chức thành kiểu sắp xếp dạng cây thay vì danh sách như sử dụng lệnh ps. Cây này sẽ hiển thị các quá trình trong mối quan hệ cha-con. Tiến trình cha là tiến trình tạo ra tất cả các tiến trình con bên dưới nó.

Cấu trúc pf pstree tương tự như các thư mục phân cấp trên hệ thống Unix giống 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 tiến trình để xem tiến trình nào tạo hoặc kiểm soát lẫn nhau, cho phép loại bỏ chính xác các tiến trình gây ra vấn đề hoặc không được kiểm soát bằng lệnh kill.

Chạy lệnh pstree

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

pstree

Chạy lệnh pstree

Lệnh này sẽ hiển thị danh sách tất cả các tiến trình đang chạy trên hệ thống. Tiến trình trên cùng (trong trường hợp này là systemd) là tiến trình cha. Các tiến trình bên dưới nó được tạo hoặc mở thông qua systemd. Và các nhánh từ các tiến trình này thể hiện mối quan hệ tương tự, giống như cây gia đình.

Dưới đây là cấu trúc cơ bản của pstree:

parent————child(1)————subchild (1)
         |          |--subchild (2)
         |
         |-child(2)

Theo mặc định các tiến trình được sinh ra từ cùng một tiến trình cha 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ờ (flag), chúng ta sẽ thảo luận bên dưới. 

Sử dụng pstree với cờ

Cũng giống như hầu hết các chương trình Terminal, pstree có thể kết hợp với các cờ khác nhau để tạo đầu ra phức tạp hơn. Để hiển thị thông tin nhận dạng tiến trình, bạn có thể sử dụng cờ -p, hiển thị số nhận dạng tiến trình hoặc PID.

pstree -p

Hiển thị số nhận dạng tiến trình

Bạn có thể sắp xếp các tiến tình bằng PID thay vì tên với cờ -n.

pstree -np

Sắp xếp theo số nhận dạng

Bạn có thể nhận thấy, đầu ra pstree thường bị cắt ở cạnh cửa sổ terminal. Do đó, bạn có thể “gói” các dòng kết quả dài bằng cờ -l.

pstree -l

Sử dụng cờ -l

Tuy nhiên, thao tác này sẽ khiến người dùng khó đọc đầu ra.

Xem thêm: Lưu trữ dữ liệu xuất ra của một lệnh Linux vào file

Hiển thị các phần của cây tiến trình

Bạn cũng có thể chỉ xem một phần nào đó của cây tiến trình. Có hai cách để thực hiện việc này. Thứ nhất, sử dụng cờ -s, cho phép xem tiến trình cha của tiến trình con bạn chỉ định. Bạn có thể gọi tiến trình này bằng PID của nó.

pstree -s 780

Sử dụng cờ -s

Bạn cũng có thể xem các tiến trình được sinh ra theo người dùng hiện tại. Nếu có nhiều người dùng trên hệ thống, bạn sẽ biết được ai đang làm gì trên hệ thống của mình. Để xem các tiến trình được sinh ra bởi người dùng, chỉ cần gõ tên người dùng sau lệnh chính.

pstree alexander

Lệnh này sẽ hiển thị bất cứ lệnh nào được thực thi theo tài khoản của người dùng đó, qua chương trình người dùng chạy hoặc qua lệnh họ thực hiện.

Mỗi phiên bản của Linux có thể có những cách sử dụng lệnh này khác nhau nhưng đây là hướng dẫn cơ bản nhất. Để nhận trợ giúp về phiên bản bạn đang dùng, gõ man pstree trong dòng lệnh và nhấn Enter để mở trang hướng dẫn lệnh. 

Chúc các bạn thực hiện thành công!

Xem thêm: 

Thứ Hai, 02/07/2018 16:31
51 👨 599