Lệnh pstree
trong Linux dùng để hiển thị cây tiến trình theo cấu trúc cha – con, giúp bạn dễ dàng hình dung mối quan hệ giữa các tiến trình đang chạy. Trong bài viết này, bạn sẽ tìm hiểu khái niệm cơ bản về pstree
, cách sử dụng lệnh này một cách hiệu quả, cùng các tùy chọn phổ biến như hiển thị PID, sắp xếp theo PID, mở rộng chiều rộng cây tiến trình và lọc theo người dùng.
Lệnh pstree là gì?
pstree
là một lệnh trên Linux/Unix dùng để hiển thị cây tiến trình (process tree) theo dạng cấu trúc cây. Lệnh này giúp bạn dễ dàng nhìn thấy mối quan hệ cha – con giữa các tiến trình đang chạy trên hệ thống.

Cụ thể, pstree
hiển thị tất cả tiến trình đang hoạt động trên hệ thống dưới dạng cây phân cấp, khác với lệnh ps
vốn chỉ hiển thị danh sách tiến trình dạng phẳng. Trong cây này, 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ó, từ đó thể hiện rõ mối quan hệ giữa các tiến trình.
Cấu trúc cây của pstree
tương tự như hệ thống thư mục phân cấp trên các hệ điều hành Unix như Linux và macOS. Nhờ vậy, bạn có thể nhanh chóng điều hướng qua cây tiến trình để xác định tiến trình nào tạo hoặc kiểm soát tiến trình khác, giúp dễ dàng phát hiện và loại bỏ chính xác các tiến trình gây vấn đề hoặc không được kiểm soát bằng lệnh kill
.
Cách sử dụng lệnh pstree cơ bản
Để chạy dạng cơ bản của lệnh pstree
, bạn mở cửa sổ Terminal và gõ:
pstree
Sau đó bạn nhấn Enter. Lệnh này sẽ hiển thị tất cả các tiến trình đang chạy trên hệ thống theo dạng cây phân cấp. Tiến trình đứng đầu (thường là systemd
hoặc init
) là tiến trình cha, các tiến trình con được tạo ra hoặc khởi động thông qua tiến trình cha đó. Các nhánh phía dưới cho thấy mối quan hệ cha – con giữa các tiến trình, giống như cây gia đình.

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 con được sắp xếp theo thứ tự bảng chữ cái. Ngoài ra, pstree
còn hỗ trợ nhiều cách sắp xếp và hiển thị khác nhau thông qua các flag, sẽ được giới thiệu ở phần tiếp theo.
Một số tùy chọn thường dùng với pstree
Tùy chọn | Mô tả |
---|---|
-p | Hiển thị PID (Process ID) của từng tiến trình |
-n | Sắp xếp tiến trình theo PID thay vì theo thứ tự chữ cái |
-np | Kết hợp cả hai flag -n và -p |
-l | Hiển thị đầy đủ dòng tiến trình dài (không bị cắt dòng) |
-s <PID> | Hiển thị chuỗi tiến trình cha của một tiến trình cụ thể |
<tên người dùng> | Hiển thị cây tiến trình của một người dùng cụ thể |
Một số lệnh pstree thường dùng
Lệnh pstree
không chỉ đơn thuần hiển thị cây tiến trình cơ bản, mà còn có thể kết hợp với nhiều tùy chọn khác nhau để cung cấp thông tin chi tiết hơn, giúp người quản trị hệ thống dễ dàng kiểm soát và theo dõi hoạt động của hệ thống. Dưới đây là một số lệnh thường dùng với pstree
:
Hiển thị PID của tiến trình
pstree -p
Mặc định, pstree
chỉ hiển thị tên tiến trình. Khi thêm flag -p
, lệnh sẽ hiển thị thêm PID (Process ID) – tức là số nhận dạng của từng tiến trình. Thông tin này đặc biệt hữu ích nếu bạn muốn kết hợp với lệnh kill
để dừng một tiến trình cụ thể.

Sắp xếp tiến trình theo PID
pstree -np
Thông thường, các tiến trình con được hiển thị theo thứ tự bảng chữ cái. Tuy nhiên, khi thêm flag -n
, pstree
sẽ sắp xếp tiến trình theo PID. Khi kết hợp với -p
, bạn vừa xem được PID vừa có thứ tự dễ theo dõi hơn.

Hiển thị tiến trình theo chiều rộng đầy đủ (không bị cắt dòng)
pstree -l
Nếu cây tiến trình quá dài, một số dòng có thể bị cắt và thay bằng dấu ba chấm ...
. Flag -l
sẽ hiển thị đầy đủ tên tiến trình dài, tránh bị cắt dòng. Tuy nhiên, đầu ra có thể trở nên khó đọc nếu bạn đang làm việc trên một terminal nhỏ.

Xem chuỗi cha của tiến trình cụ thể
pstree -s 780
Cờ -s
cho phép bạn truy vết ngược chuỗi tiến trình cha của một tiến trình con nhất định, thông qua PID của nó (trong ví dụ là 780
). Điều này hữu ích khi bạn cần biết tiến trình đó được khởi tạo từ đâu và nằm trong nhánh nào của hệ thống.

Xem tất cả tiến trình do người dùng “vietnix” khởi tạo
pstree vietnix
Thay vì hiển thị toàn bộ cây tiến trình của hệ thống, bạn có thể xem riêng các tiến trình được tạo bởi một người dùng cụ thể, bằng cách thêm tên người dùng vào sau lệnh pstree
. Điều này rất hữu ích trên hệ thống nhiều người dùng, giúp bạn xác định hoạt động của từng người.

Tăng tốc website với giải pháp VPS chất lượng từ Vietnix
Vietnix cung cấp dịch vụ VPS và hosting chất lượng, tối ưu cho tốc độ truy cập và khả năng vận hành ổn định của website. Với hạ tầng máy chủ mạnh mẽ, công nghệ bảo mật tiên tiến và đội ngũ kỹ thuật giàu kinh nghiệm hỗ trợ 24/7, Vietnix giúp website luôn hoạt động mượt mà, an toàn và đạt hiệu suất cao nhất.
Dù bạn đang vận hành website cá nhân, doanh nghiệp hay hệ thống thương mại điện tử phức tạp, dịch vụ của Vietnix luôn sẵn sàng đáp ứng linh hoạt mọi nhu cầu, đảm bảo hiệu quả hoạt động và trải nghiệm người dùng tối ưu.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.
Câu hỏi thường gặp
pstree
dùng để làm gì trong Linux?
pstree
hiển thị các tiến trình đang chạy dưới dạng cây, giúp quan sát rõ mối quan hệ cha – con giữa các tiến trình.
Làm sao để hiển thị cả PID của tiến trình khi dùng pstree
?
Dùng lệnh pstree -p
để hiển thị PID kèm theo tên tiến trình.
Sự khác biệt giữa pstree
và ps
là gì?
ps
hiển thị danh sách tiến trình dạng dòng, còn pstree
hiển thị chúng theo dạng cây, trực quan hơn khi cần xem mối quan hệ giữa các tiến trình.
Khi nào nên dùng pstree
thay vì top
hoặc htop
?
Khi bạn muốn quan sát cấu trúc cha-con của tiến trình hoặc debug mối quan hệ giữa tiến trình mẹ và tiến trình con.
Làm thế nào để cài pstree
nếu lệnh không có sẵn?
Cài bằng lệnh sudo apt install psmisc
trên Debian/Ubuntu hoặc sudo yum install psmisc
trên CentOS.
pstree
lấy dữ liệu tiến trình từ đâu trong hệ thống Linux?
pstree
đọc thông tin từ thư mục /proc
, nơi lưu trữ dữ liệu của tất cả tiến trình đang hoạt động.
pstree
có thể dùng để phát hiện tiến trình zombie không?
Không trực tiếp, nhưng có thể phát hiện khi tiến trình cha vẫn còn nhưng con đã biến mất bất thường trong cây.
Có thể tạo alias cho pstree
để mặc định luôn hiển thị PID không?
Có thể thêm vào .bashrc
: alias pstree='pstree -p'
để hiển thị PID mỗi lần gọi.
Có thể dùng pstree
để phân tích sự cố do tiến trình tạo vòng lặp không kiểm soát không?
Có, vì pstree
giúp bạn theo dõi tiến trình tạo con liên tục, từ đó nhận biết bất thường trong cấu trúc cây.
Có thể dùng pstree
trên WSL (Windows Subsystem for Linux) không?
Có, nếu bạn đã cài gói psmisc
, lệnh pstree
hoạt động như trên bản Linux thông thường.
Lời kết
Sử dụng pstree
giúp bạn dễ dàng theo dõi cấu trúc tiến trình, quản lý hệ thống hiệu quả và nhanh chóng phát hiện các tiến trình bất thường. Nếu bạn có bất cứ thắc mắc nào liên quan đến pstree
hoặc quản lý tiến trình trên Linux, đừng ngần ngại để lại bình luận bên dưới. Bạn cũng có thể tham khảo thêm các hướng dẫn khác trên blog để nâng cao kỹ năng sử dụng Linux. Và đừng quên trải nghiệm VPS chất lượng cao từ Vietnix để đảm bảo hệ thống luôn vận hành ổn định và bảo mật.
Mọi người cũng xem: