monitore vários pids com top

3

Eu quero monitorar o uso de memória para vários processos e criei um comando como este:

ps aux |grep -e postgres -e unicorn -e nginx|cut -d' ' -f2|for i in $(xargs); do echo $i; done

16112
16113
...

Como posso alterar o bit após o último canal para alimentar os argumentos em top -p $i , para obter uma ideia geral do consumo de memória para todos os pids? O comando final produziria algo como top -p<pid1> -p<pid2> e assim por diante

    
por lfender6445 07.03.2015 / 01:57

1 resposta

5

Que tal algo como

pids=( $(pgrep 'postgres|unicorn|nginx') )

para colocar os PIDs em uma matriz e, em seguida,

top "${pids[@]/#/-p }"

para devolvê-los em top , antes de cada um com -p

    
por 07.03.2015 / 02:21