Android

Lệnh Pstree trong linux

35 - Linux in 1 Minute - Show Process Tree - pstree

35 - Linux in 1 Minute - Show Process Tree - pstree

Mục lục:

Anonim

Khi làm việc trên máy Linux, đôi khi 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, trong đó ps top là những lệnh được sử dụng phổ biến nhất., chúng ta sẽ nói về lệnh pstree . Nó tương tự như ps , nhưng thay vì liệt kê các tiến trình đang chạy, nó hiển thị chúng trong một cây. Định dạng giống như cây là một cách thuận tiện hơn để hiển thị phân cấp quy trình và làm cho đầu ra trực quan hấp dẫn hơn.

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

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

ps

Ở dạng đơn giản nhất khi được gọi mà không có bất kỳ tùy chọn hoặc đối số nào, pstree hiển thị cấu trúc cây phân cấp của tất cả các quy trình đang chạy:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

Mục trên cùng / gốc trong cây là tiến trình cha của tất cả các quy trình hệ thống. Trong ví dụ này là systemd , đây là quá trình đầu tiên bắt đầu khi khởi động.

pstree hợp nhất các nhánh giống nhau bằng cách đặt chúng giữa các dấu ngoặc vuông và tiền tố chúng với một số nguyên biểu thị số lượng nhánh. Điều này làm cho đầu ra dễ đọc hơn và hấp dẫn trực quan hơn.

Dưới đây là một ví dụ cho thấy cách sử dụng dấu ngoặc vuông:

├─2*

giống như:

├─agetty ├─agetty

Để vô hiệu hóa việc hợp nhất các nhánh giống hệt nhau, hãy sử dụng tùy chọn -c :

pstree -c

Các luồng của một tiến trình được hiển thị theo tiến trình cha và được hiển thị bằng tên tiến trình bên trong dấu ngoặc nhọn. Đây là một ví dụ:

├─lxcfs───2*

Sử dụng tùy chọn -t để hiển thị tên chủ đề đầy đủ. Nếu bạn muốn ẩn các chủ đề và chỉ hiển thị các quy trình, hãy sử dụng tùy chọn -T .

Thông thường, pstree hiển thị nhiều dòng đầu ra không vừa trên màn hình. Để xem đầu ra một trang tại một thời điểm, hãy chuyển nó sang lệnh less :

pstree | less

Nếu tên người dùng được cung cấp dưới dạng đối số, pstree chỉ hiển thị các quy trình do người dùng đó sở hữu. Ví dụ: lệnh sau sẽ chỉ hiển thị các quy trình đã được khởi động bởi người dùng có tên là linux linuxize

pstree linuxize

Khi PID được chỉ định làm đối số, pstree hiển thị một cây với quy trình đã cho là gốc của cây. Đây là một ví dụ:

pstree 1943

sshd───bash───pstree

Để hiển thị các quy trình cha của quy trình đã cho, hãy sử dụng tùy chọn -s theo sau là quy trình PID:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Hiển thị PID và PGID

Thông thường, khi chạy lệnh pstree , thông tin quan trọng nhất mà người dùng đang tìm kiếm là ID tiến trình. Ví dụ, việc biết được PID cho phép bạn tiêu diệt một quá trình trục trặc.

Tùy chọn -p hướng dẫn pstree hiển thị các PID:

pstree -p

PID được hiển thị trong ngoặc đơn sau mỗi quá trình hoặc luồng.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956) │ ├─{VBoxService}(957) │ ├─{VBoxService}(958) │ ├─{VBoxService}(959) │ ├─{VBoxService}(960) │ ├─{VBoxService}(961) │ └─{VBoxService}(962)…

Theo mặc định, pstree , sắp xếp các quy trình có cùng cha mẹ theo tên. Tùy chọn -n cho pstree sử dụng sắp xếp số, tức là sắp xếp theo PID:

pstree -pn

ID nhóm quy trình hoặc PGID là ID quy trình của thành viên đầu tiên của nhóm quy trình. Để xem PGID, hãy sử dụng -g chọn -g :

pstree -g

PID cũng được hiển thị trong ngoặc đơn sau mỗi quá trình hoặc luồng.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…

Khi các PID hoặc PGID được hiển thị, việc hợp nhất sẽ bị vô hiệu hóa hoàn toàn.

Hiển thị đối số dòng lệnh

Một số chương trình có thể được gọi với các tùy chọn cấu hình được chỉ định làm đối số dòng lệnh.

Theo mặc định, pstree không hiển thị cho bạn các đối số dòng lệnh cho các quy trình đang chạy. Để xem quá trình được bắt đầu như thế nào, hãy sử dụng lệnh cùng với tùy chọn -a :

pstree -a

… ├─agetty -o -p -- \\u --keep-baud 115200, 38400, 9600 ttyS0 vt220 ├─agetty -o -p -- \\u --noclear tty1 linux…

Làm nổi bật

pstree cũng cho phép bạn làm nổi bật các quy trình để thể hiện hình ảnh tốt hơn.

Tùy chọn -h hướng dẫn pstree làm nổi bật quá trình hiện tại và tất cả tổ tiên của nó.

pstree -h

Để làm nổi bật một quy trình cụ thể, hãy sử dụng tùy chọn -H theo sau là ID quy trình:

pstree -H PID_NUMBER

Nếu đánh dấu không được hỗ trợ, lệnh sẽ thoát với một lỗi.

Phần kết luận

Lệnh pstree hiển thị các tiến trình đang chạy dưới dạng cấu trúc cây.

Để biết thông tin về tất cả các tùy chọn pstree có sẵn, hãy nhập man pstree trong thiết bị đầu cuối của bạn.

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