เป็นไปได้ไหมที่จะกรองด้านบนเพื่อแสดงกระบวนการเฉพาะ?


คำตอบ:


16

คุณสามารถทำอะไรเช่นนี้

top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`

สิ่งนี้pgrepจะสร้างรายการ pid ที่คั่นด้วยเครื่องหมายจุลภาคที่ส่งผ่านไปtop -p


ง่ายมาก :)
เมอร์เซี Vutcovici

ฉันพยายามหาวิธีหารายชื่อกระบวนการหลายชื่อจนกว่าฉันจะเห็นว่าคุณทำอย่างไร
user9517

1
หมายเหตุถึงผู้ชมในอนาคต - วิธีนี้อาจไม่ให้ข้อมูลที่คุณคาดหวัง a) วิธีนี้แสดงกระบวนการที่ทำงานเมื่อเริ่มต้นจากด้านบนเท่านั้น พฤติกรรมปกติของ Top คือการแสดงกระบวนการใหม่นับตั้งแต่เริ่มต้น b) คู่มือยอดนิยมที่ฉันอ่านว่า -p จำกัด 20 รหัสกระบวนการ ดู: stackoverflow.com/questions/12075591/…
MaasSql

1
หลังจากรันบนสุด -c กด o และเขียนตัวกรองบนคอลัมน์เช่นเพื่อแสดงแถวที่คอลัมน์ COMMAND มีสตริง foo เขียน COMMAND = foo
MaasSql

6

ไม่ใช่สิ่งที่คุณกำลังมองหา แต่บางครั้งกระบวนการก็ดำเนินการโดยผู้ใช้ของตัวเองเช่น apache2 มักถูกเรียกใช้โดยผู้ใช้ www-data

คุณสามารถใช้สิ่งนั้นเพื่อ จำกัด เอาท์พุทของ top ไปยังโปรเซสโดยผู้ใช้นั้นได้อย่างมีประสิทธิภาพเท่านั้นแสดงกระบวนการ apache2 โดยใช้คำสั่งนี้:

top -u www-data

ที่ดี! ฉันสงสัยว่าจะแสดงรายการกระบวนการเฉพาะของผู้ใช้อย่างไร
razor7

5

ตรวจสอบหน้าคู่มือยอดนิยมของมนุษย์เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับยูทิลิตี้ชั้นนำ

semms คุณต้องการพารามิเตอร์ -p

-p: มอนิเตอร์ PIDs เป็น: -pN1 -pN2 ... หรือ -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.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.