Files
2024-05-31 11:32:10 +02:00

34 lines
666 B
Bash
Executable File

#!/usr/bin/env bash
APP=$1
set -x
# Signal helper
source /opt/scripts/signals.sh
PID=0
TERM_handler() {
SIGNAME="$1"
echo "Killing ${PID}"
echo "Signal ${SIGNAME}"
if [ ${PID} -ne 0 ]; then
ps -ef --forest
CHILDS=$(pgrep -P "${PID}")
kill -"${SIGNAME}" -"${PID}"
for i in $CHILDS; do
wait $i
done
fi
ps -ef --forest
ret=$(signal_return_val ${SIGNAME})
exit $ret
}
signals_trap_with_arg TERM_handler SIGTERM
${APP} &
PID=$$
# wait forever
signals_wait_forever
# https://docs.docker.com/compose/faq/
# https://medium.com/@gchudnov/trapping-signals-in-docker-containers-7a57fdda7d86