From 72e401c0dde79290a8014d64fc7b6f50592efb00 Mon Sep 17 00:00:00 2001 From: Loic Nageleisen Date: Thu, 23 Jan 2014 14:07:15 +0100 Subject: [PATCH] timeout utility --- timeout | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 timeout diff --git a/timeout b/timeout new file mode 100755 index 0000000..7ccdefe --- /dev/null +++ b/timeout @@ -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 + +$@