#!/bin/bash d=hda blocks_at_a_time=1000 readers=2 set -x ds=`cat /sys/block/$d/size` ds=$((ds/blocks_at_a_time)) for i in `seq 0 $((readers-1))`; do ( while true; do dd if=/dev/$d of=/dev/null bs=$((512*blocks_at_a_time)) skip=$((ds/readers*i)) count=$((ds/readers)); done ) & pids="$pids $!" done trap "kill $pids; killall dd" EXIT wait