|
|
@@ -0,0 +1,28 @@ |
|
|
|
#!/bin/sh |
|
|
|
set -e |
|
|
|
|
|
|
|
kill_child_jobs() { |
|
|
|
echo "In kill_child_jobs()..." |
|
|
|
# From https://stackoverflow.com/a/23336595 |
|
|
|
# Kills all child proceses, not just jobs. |
|
|
|
pkill -P $$ |
|
|
|
|
|
|
|
} |
|
|
|
cleanup() { |
|
|
|
kill_child_jobs |
|
|
|
} |
|
|
|
|
|
|
|
# From https://unix.stackexchange.com/a/240736 |
|
|
|
for sig in INT QUIT HUP TERM; do |
|
|
|
trap " |
|
|
|
cleanup |
|
|
|
trap - $sig EXIT |
|
|
|
kill -s $sig "'"$$"' "$sig" |
|
|
|
done |
|
|
|
trap cleanup EXIT |
|
|
|
|
|
|
|
yes aa & |
|
|
|
yes disowned & builtin disown || true |
|
|
|
sleep 100 & |
|
|
|
|
|
|
|
wait |