# use top to monitor process average cpu consumption in batch mode
# PID is set in beginning to avoid multiple changes
# Example below should perform 50 checks with delay 0.1 seconds and prints out average using awk.

# PID=1234; top -b -d 0.1 -n 50 -p ${PID}|sed -e 's/^[ \t]*//'| grep "^${PID}" |awk 'BEGIN{CPU=0;COUNT=0;}{CPU=CPU+$9;COUNT++}END{print int(CPU/COUNT);}'

# same thing, without sed and grep

# PID=2798; top -b -d 0.1 -n 50 -p ${PID} |awk -v PID=${PID} 'BEGIN{CPU=0;COUNT=0;}{if($1 == PID){CPU=CPU+$9;COUNT++};}END{print int(CPU/COUNT);}'

If you found this useful, say thanks, click on some banners or donate, I can always use some beer money.