12345678910111213141516171819202122232425262728 |
- #!/bin/bash
- set -m
- timeout=$1
- shift
- cmd=$@
- echo "timeout: ${timeout}"
- echo "cmd : ${cmd}"
- eval "${cmd}" &
- cmdpid=$!
- stopit()
- {
- echo "TIMEOUT: ${cmd} took > ${timeout} seconds"
- echo "sending SIGINT"
- echo kill -INT -- -$cmdpid
- kill -INT -- -$cmdpid;
- }
- ( sleep ${timeout} ; stopit; ) &
- timeoutpid=$!
- wait $cmdpid
- kill $timeoutpid >& /dev/null
|