Przeszukuję różne źródła, ale nie mogę znaleźć dobrego opisu anatomii zbierania dzieci. To prosty przypadek tego, co chciałbym zrozumieć.
$ cat <( sleep 100 & wait ) &
[1] 14247
$ ps ax -O pgid | grep $$
12126 12126 S pts/17 00:00:00 bash
14248 12126 S pts/17 00:00:00 bash
14249 12126 S pts/17 00:00:00 sleep 100
14251 14250 S pts/17 00:00:00 grep --color=auto 12126
$ kill -2 14248
$ ps ax -O pgid | grep $$
12126 12126 S pts/17 00:00:00 bash
14248 12126 Z pts/17 00:00:00 [bash] <defunct>
14249 12126 S pts/17 00:00:00 sleep 100
14255 14254 S pts/17 00:00:00 grep --color=auto 12126
Dlaczego zombie czeka na dziecko?
Czy możesz to wyjaśnić? Czy muszę znać C i czytać kod źródłowy Bash, aby lepiej to zrozumieć, czy też jest jakaś dokumentacja? Już skonsultowałem:
- różne linki na tej stronie i Przepełnienie stosu
- Linia poleceń Linuksa autorstwa W. Shottsa
man bash
- Podręcznik referencyjny Bash (w dokumentach źródłowych Bash)
- Przewodnik Bash dla początkujących @ tldp.org
- Advanced Bash-Scripting Guide
GNU bash, wersja 4.3.42 (1) -release (x86_64-pc-linux-gnu)
Linux 4.4.0-31-generic # 50-Ubuntu SMP Środa 13 lipca 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux