28 lines
465 B
Bash
Executable File
28 lines
465 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
kill_child_jobs() {
|
|
echo "In kill_child_jobs()..."
|
|
# From https://stackoverflow.com/a/23336595
|
|
# Kills all child processes, 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
|