Я думаю, что на этот вопрос ответили в riak-пользовательском списке рассылки здесь:
http://lists.basho.com/pipermail/riak-users_lists.basho.com/2010-February/000496.html
Вы можете сделать что-то вроде этого
top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`
Это дает pgrep
для создания Список идентификаторов, разделенных запятыми, которые передаются в top -p
Просмотрите страницу руководства man top для получения более подробной информации о верхней утилите ...
Semms вам нужен параметр -p
-p: контролировать PID как: -pN1 -pN2 ... или -pN1, N2 [, ...]
Отслеживать только процессы с указанными идентификаторами процессов. Этот вариант можно указывать до 20 раз, или вы можете указать через запятую список до 20 pid. Сочетание обоих подходов разрешенный.
Попробуйте следующее:
alias mytop='echo $(sed "s/\([0-9]*\)/-p \1/g;s/^/top /" <(pgrep -d" " "java|redis|mysql|mongo"))'
mytop
Не совсем то, что вы ищете, но иногда процесс запускается собственным пользователем, например, apache2 часто запускается пользователем www-data.
Вы можете использовать это для ограничения вывод top только для процессов этого пользователя, эффективно показывая только процессы apache2 с помощью этой команды:
top -u www-data