По сути, я хочу сгруппировать процессы по имени команды, а затем обратиться к ним позже, чтобы узнать общий объем памяти, используемый именем команды.
Я придумал это:-
(ps -o comm -A | sort | uniq | while read process; do mem=`ps -C "$process" --no-headers -o pmem 2>/dev/null| paste -sd+ | bc`; if [[ $mem != "" ]]; then echo $mem $process; fi ; done) | sort -n -k 1
Но, как вы видите, у меня есть особое условие, когда команда не выполняется. Ниже приведен пример, когда моя команда не выполняется.
$ ps -o pid,comm -A | grep 17056
17056 [ET_NET 0]
$ ps -C '[ET_NET 0]'
PID TTY TIME CMD
$
В чем дело?