Что происходит, когда дочерний процесс умирает, не имея родителя, который бы дождался окончания его работы?
В том случае, когда родительский процесс завершается, но не убивает свои работающие дочернии процессы, эти дочерние процессы остаются сиротами. Процессы - сироты сразу же усыновляются процессом init. Таким образом, сирота — становится просто обычным процессом который будет вполне корректно завершен.
Совсем другое дело, если родительский процесс все еще существует, но по какой то причине (завис, перегружен и т.д.) не может обработать завершение дочернего процесса, то такой дочерний процесс становится зомби.
Зомби не потребляют никаких ресурсов, память и файловые дескрипторы таких процессов уже освобождены. Остается только запись в таблице процессов, которая занимает несколько десятков байт памяти. Однако таблица процессов является конечным ресурсом, и ее может заполнить чрезмерное количество зомби, что означает, что никакие другие процессы не могут быть запущены.