#!/bin/bash while [ 1 ] do #CPIDS=`pgrep cache` CPIDS=`ls /proc/ | grep "[0-9]"` i=0 for P in $CPIDS do STATA[i]=`cat /proc/$P/io 2>/dev/null | grep "^write_bytes:" | cut -d " " -f 2` i=$((i+1)) done sleep 1 i=0 for P in $CPIDS do STATB[i]=`cat /proc/$P/io 2>/dev/null | grep "^write_bytes:" | cut -d " " -f 2` i=$((i+1)) done i=0 for P in $CPIDS do [[ ${STATB[$i]} -gt 0 ]] && [[ ${STATA[$i]} -gt 0 ]] && DIFF=$(( ${STATB[$i]} - ${STATA[$i]} )) || DIFF=0 [[ $DIFF -gt 0 ]] && { DIFF=$((DIFF/1024)) echo "PID $P: $DIFF kB/s (${STATB[$i]} - ${STATA[$i]})" echo -e "PID $P:\t\t$DIFF kB/s\t\t\t$(cat /proc/$P/cmdline | cut -c1-30)" } i=$((i+1)) done echo "---" done