Improved full example and added pkill-P version.
förälder
3b740f2e4d
incheckning
9c7b084555
@ -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
|
Laddar…
Referens i nytt ärende