Updated README.
parent
9c7b084555
commit
6105c905ed
@ -1,3 +1,30 @@
|
||||
# kill-child-jobs
|
||||
|
||||
Examples of how to kill all child jobs when a shell script exits.
|
||||
|
||||
[`all-full-example.sh`](all-full-example.sh) starts some jobs, disowns
|
||||
one of them, and kills all jobs when it exits.
|
||||
[`pkill-P-full-example.sh`](pkill-P-full-example.sh) does the same
|
||||
except it kills all child processes when it exits.
|
||||
|
||||
The remaining scripts in the root are variants of the
|
||||
`kill_child_jobs()` function. The [`test/test-all.sh`](test/test-all.sh)
|
||||
script tests them all and generates the following output showing which
|
||||
version of the `kill_child_jobs()` function works in each shell:
|
||||
```
|
||||
Legend:
|
||||
∞=script does not halt (after 1 second timeout)
|
||||
X=disown unsupported by shell
|
||||
☠=all children killed
|
||||
🏃=all children still running
|
||||
✔️=expected result (job killed, disowned child alive)
|
||||
|
||||
bash sh ash dash zsh ksh
|
||||
|
||||
all.sh ✔️ X☠ X☠ X☠ ✔️ ☠
|
||||
bash.sh ✔️ X🏃 ∞X☠ X🏃 ✔️ ☠
|
||||
dash.sh ✔️ X☠ X☠ X☠ 🏃 ☠
|
||||
noop.sh 🏃 X🏃 X🏃 X🏃 🏃 🏃
|
||||
pkill-P.sh ☠ X☠ X☠ X☠ ☠ ☠
|
||||
zsh.sh ∞✔️ X🏃 ∞X☠ X🏃 ✔️ ☠
|
||||
```
|
||||
|
Loading…
Reference in New Issue