#!/bin/bash # $Platon: timeout.sh,v 1.3 2002/04/11 08:43:39 jombik9 Exp $ function timeout() { local PERIOD=500 local TO=$(( $1 * 1000 )) shift eval "$* &" local PID=$! while (( $TO > 0 )); do if ! ps $PID &>/dev/null; then exit fi usleep $PERIOD TO=$(( $TO - $PERIOD )) done if ps $PID &>/dev/null; then kill -TERM $PID &>/dev/null fi if ps $PID &>/dev/null; then kill -KILL $PID &>/dev/null fi }