Tôi đang chạy hàng đầu và tôi muốn luôn thấy java / tomcat / redis / mysql / mongo, điều đó có thể không?
Tôi đang chạy hàng đầu và tôi muốn luôn thấy java / tomcat / redis / mysql / mongo, điều đó có thể không?
Câu trả lời:
Bạn có thể làm một cái gì đó như thế này
top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`
Điều này được pgrep
tạo ra một danh sách các pid được phân tách bằng dấu phẩy được truyền tớitop -p
Không hoàn toàn là những gì bạn đang tìm kiếm, nhưng đôi khi một quá trình được điều hành bởi chính người dùng của nó, như apache2 thường được chạy bởi dữ liệu www của người dùng.
Bạn có thể sử dụng điều đó để giới hạn đầu ra của top chỉ cho các quy trình của người dùng đó, chỉ hiển thị hiệu quả các quy trình apache2 bằng cách sử dụng lệnh này:
top -u www-data
Kiểm tra trang hướng dẫn sử dụng hàng đầu để biết thêm chi tiết về tiện ích hàng đầu ...
Semms bạn cần tham số -p
-p: Theo dõi các PID dưới dạng: -pN1 -pN2 ... hoặc -pN1, N2 [, ...]
Monitor only processes with specified process IDs. This option can be given up to 20 times, or you can provide a comma delimited list with up to 20 pids. Co-mingling both approaches is permitted.
Thử cái này:
alias mytop='echo $(sed "s/\([0-9]*\)/-p \1/g;s/^/top /" <(pgrep -d" " "java|redis|mysql|mongo"))'
mytop