diff --git a/syslogize.sh b/syslogize.sh index 074c29f..21f28fe 100755 --- a/syslogize.sh +++ b/syslogize.sh @@ -17,4 +17,15 @@ if test $# -eq 0 ; then exit 1 fi -$@ 2>&1 | logger ${LOGGER} +propagate_signal () { + logger ${LOGGER} "Received $1 signal" + jobs -p | xargs kill -$1 +} + +for signal in HUP INT QUIT USR1 USR2 TERM; do + trap "propagate_signal ${signal}" ${signal} +done + +$@ 2>&1 | logger ${LOGGER} & + +wait $!