#!/bin/bash waitforjob() { WHICH=$1 MAX=$2 echo "max = $MAX"; N=0 while true; do kill -0 $WHICH 2>&1 >/dev/null || break sleep 1 echo -n "." N=$((N+1)) if test $N -gt $MAX ; then echo "This is taking too long." kill $WHICH break fi done } sleep 30 & waitforjob %% 5