使用top监控多个pid

使用top监控多个pid

我想监视多个进程的内存使用情况,并想出了这样的命令:

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

16112
16113
...

如何更改最后一个管道之后的位以将参数输入到 中top -p $i,以便我了解所有 pid 的内存消耗的总体情况?最终的命令会产生类似的top -p<pid1> -p<pid2>内容

答案1

怎么样

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

将 PID 放入数组中,然后

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

将它们吐回到top,并在每个前面加上-p

相关内容