top по именам процессов

К сожалению приложение top позволяет отфильтровывать показываемые приложения только по PID. Данный скриптик позволит не заниматься поиском PID, а просто указать имена нужных процессов.

~/bin/topall

#!/bin/sh
 
NAMES=''
for i in $@; do
        NAMES="$NAMES -C $i"
done
 
if [ "$NAMES" == '' ]; then
        echo topall PROC_NAME1 [PROC_NAME2 ... [PROC_NAMEn]]
        exit 255
fi
 
PIDS=`ps -o pid --no-heading $NAMES | xargs echo -n | tr ' ' ','`
 
if [ "$PIDS" == '' ]; then
        echo no processes named: $*
        exit 1
fi
 
top -p $PIDS

~~LINKBACK~~