All pastes #675061 Raw Edit

Unnamed

public shellscript v1 · immutable
#675061 ·published 2007-08-29 19:56 UTC
rendered paste body
#Usage: timeout "$CMD" "$SUCCESS_TEXT" $TIMEOUT#Run $CMD and look for $SUCCESS_TEXT and return 0#or return 1 after $TIMEOUT seconds of not seeing $SUCCESS_TEXTtimeout() {  cmd="$1"  success_text="$2"  timeout="$3"  TMPFILE=`mktemp /tmp/timeout.XXXXXX` || exit 1  $cmd > $TMPFILE 2> /dev/null &  #nc -z ${SERVER}.${DOMAIN} $PORT > $TMPFILE 2> /dev/null &  PID=$!  disown $!  sleep 1  loop=1  while true; do    grep "$success_text" $TMPFILE > /dev/null 2>&1    if [ 0 -eq $? ]; then      break    fi    if [ $loop = $timeout ]; then      break    fi    ((loop++))    sleep 1  done  kill -9 $PID > /dev/null 2>&1  grep "$success_text" $TMPFILE > /dev/null 2>&1  status=$?  rm -f $TMPFILE  if [ 1 -eq $status ]; then    return 1  fi  return 0}