Bash
用 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>
最後的命令會產生類似的東西
像這樣的東西怎麼樣
pids=( $(pgrep 'postgres|unicorn|nginx') )
將 PID 放入一個數組中,然後
top "${pids[@]/#/-p }"
把它們吐出來
top
,在每個前面加上-p