É possível filtrar o topo para mostrar processos específicos?

7

Sou top de rodar e quero sempre ver java / tomcat / redis / mysql / mongo, isso é possível?

    
por Blankman 23.12.2011 / 23:19

4 respostas

13

Você poderia fazer algo assim

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

Isso obtém pgrep para produzir uma lista de pids separados por vírgula que são passados para top -p

    
por 24.12.2011 / 00:07
6

Não é exatamente o que você está procurando, mas às vezes um processo é executado por seu próprio usuário, como o apache2 é geralmente executado pelo usuário www-data.

Você pode usar isso para limitar a saída de top apenas aos processos desse usuário, efetivamente mostrando apenas os processos do apache2 usando este comando:

top -u www-data
    
por 25.07.2013 / 10:40
4

Tente isto:

alias mytop='echo $(sed "s/\([0-9]*\)/-p /g;s/^/top /" <(pgrep -d" " "java|redis|mysql|mongo"))'
mytop
    
por 23.12.2011 / 23:48
3

Verifique a página de manual man top para obter mais detalhes sobre o utilitário principal ...

Semms que você precisa -p parâmetro

-p : Monitor PIDs as: -pN1 -pN2 ... or -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.
    
por 23.12.2011 / 23:35