いくつかのプロセスのメモリ使用量を監視したいと思い、次のコマンドを考えました。
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