timeout utility

This commit is contained in:
Loic Nageleisen 2014-01-23 14:07:15 +01:00
parent a8d8b99f0f
commit 72e401c0dd

22
timeout Executable file
View file

@ -0,0 +1,22 @@
#!/bin/sh
# $0 [OPTION] DURATION COMMAND [ARG]...
# DURATION with suffix: s, m, h, d
# -k --kill--after
# -s --signal
# exit: 124
set -e
set -o nounset
wrapper_pid=$$
seconds="$1"
shift
signal='TERM'
(sleep $seconds; kill $wrapper_pid) &
watchdog_pid=$!
trap "kill -$signal $watchdog_pid" EXIT
$@