Initial commit
This commit is contained in:
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user