#!/bin/sh
#
# A script that ensures all the programs in a process group die when the
# script dies that started them.  So if you run:
#     selfclean myprog args...
# and 'myprog' starts several subprocesses, then if myprog or selfclean
# die for any reason (particularly CTRL-C or SIGTERM), selfclean will
# attempt to kill all the subprocesses too.
#
# You can use selfclean as the first line of a shell script:
#   #!/bin/selfclean /bin/sh
# This will ensure that a script's subprograms are cleaned up nicely.
#

if [ -z "$*" ]; then
  echo "Usage: $0 <script> [args...]" >&2
  exit 1
fi

cleanup()
{
  trap '' TERM
  kill -TERM -$childpid
  [ "$1" = 0 ] || echo " -- exited with code $1" >&2
  exit $1
}


setsid "$@" &
childpid=$!

# we have to capture signals *after* launching the subprocess, otherwise
# the signal handlers are inherited by the subprocess, and it will start
# ignoring SIGTERM/SIGINT, which defeats the purpose.
trap 'cleanup $?' EXIT
trap 'exit $?' TERM
trap 'exit $?' INT
wait $childpid
