Можно ли отфильтровать верх, чтобы показать конкретные процессы?


Ответы:


16

Вы могли бы что-то вроде этого

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

Это позволяет pgrepполучить список pid, разделенных запятыми, которые передаютсяtop -p


Гораздо проще :)
Мирча Вутцовичи

Я изо всех сил пытался выяснить, как найти список процессов для нескольких имен процессов, пока не увидел, как вы это сделали.
user9517

1
Примечание для будущих зрителей - этот метод может не дать вам ожидаемые данные. а) этот метод показывает только обрабатывает работу , когда сверху начали . Нормальное поведение Top - показывать процессы, которые были новыми с самого начала. б) верхнее руководство, которое я прочитал, говорит, что -p ограничено 20 идентификаторами процесса. см .: stackoverflow.com/questions/12075591/…
MaasSql

1
После запуска top -c нажмите o и напишите фильтр в столбце, например, чтобы показать строки, в которых столбец COMMAND содержит строку foo, напишите COMMAND = foo
MaasSql

6

Не совсем то, что вы ищете, но иногда процесс запускается собственным пользователем, например, apache2 часто запускается пользователем www-data.

Вы можете использовать это, чтобы ограничить вывод top только процессами этого пользователя, эффективно показывая только процессы apache2 с помощью этой команды:

top -u www-data

Большой! Мне было интересно, как перечислить пользовательские процессы
razor7

4

Проверьте man top page для более подробной информации о top utility ...

Semms вам нужен параметр -p

-p: контролировать PID как -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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.