Bash

用 top 監控多個 pid

  • March 7, 2015

我想監視多個程序的記憶體使用情況,並提出瞭如下命令:

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>最後的命令會產生類似的東西

像這樣的東西怎麼樣

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

將 PID 放入一個數組中,然後

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

把它們吐出來top,在每個前面加上-p

引用自:https://unix.stackexchange.com/questions/188702