Получает ли этот диспетчер процесс зомби?

У меня такой сценарий оболочки диспетчера.

while read line do java TestProg $line & done < $tasklist 

На странице Википедии , посвященной зомби , говорится:

если родитель не может вызвать wait, зомби останутся в таблице процессов, вызывая утечку ресурса

в сценарии выше я не использовал функцию wait (таким образом, я написал много сценариев оболочки диспетчера). Мне интересно, нужно ли мне использовать так, чтобы я мог предотвратить процессы зомби:

 while read line do java TestProg $line & done < $tasklist wait 

У меня есть 2 ответа:

Если родитель умирает / заканчивается, процессы наследуются init. init сделает это за вас. Поэтому для краткосрочных процессов вам не нужно беспокоиться. Совет должен вызывать wait или exit .

Я думаю, что вызовы bash ждут вас и куда-то куда-то куда-то куда-то куда-то куда-то отправляют.

wait только получает коды выхода, а затем извлекает процесс. Зомби использует небольшой ресурс, все освобождается, за исключением слота в таблице процессов: идентификатор процесса и т. Д.

Зомби мертв: все его ресурсы освобождены, за исключением его слота в таблице процессов. Причина, по которой его слот таблицы процесса не освобождается, заключается в том, что родитель может (среди прочего) получить свой код возврата и сигнализировать только что умершему ребенку, не ударяя другой процесс, который повторно использует идентификатор процесса (pid).