#!/bin/ksh # timeout - set timeout for a command # Heiner Steven (heiner.steven@odn.de) typeset default=5 function usage { print -u2 "usage: timeout [ -nsecs ] command args ... (default timeout is ${default} second(s))" } case "$1" in -[h?]|'') # help usage exit 0 ;; esac case $# in 1) exec >/dev/null 2>&1 sleep $1 kill $PPID && kill -1 $PPID && kill -9 $PPID ;; *) case "$1" in -[0-9]*) typeset -i timeout=${1#-} shift ;; esac $0 ${timeout:-5} & exec "$@" esac exit