Когда процесс завершается, он остается в состоянии «зомби» (zombie) до тех пор, пока окончательно не будет «вытерт» родительским процессом. В этом режиме единственным занимаемым ресурсом остается структура ргос, в которой хранится статус выхода, а также информация об использовании ресурсов системы. Эта информация может быть важна для родительского процесса, который получает ее посредством вызова wait, который также освобождает структуру ргос потомка. Если родительский процесс завершается раньше, чем его потомок, то тот усыновлять процессом in.it. После завершения работы потомка процесс init вызовет wait для освобождения его структуры ргос.
Определенная проблема возникает в том случае, если процесс завершится раньше своего родителя и последний не вызовет wait. Тогда структура процесса-потомка ргос не будет освобождена, а потомок останется в состоянии зомби до тех пор, пока система не будет перезагружена. Такая ситуация возникает очень редко, так как разработчики командных интерпретаторов знают о существовании проблемы и стараются не допустить ее возникновения в своих программах. Однако потенциальная возможность такой ситуации остается, когда недостаточно внимательно написанные программы не следят за всеми своими процессами-потомками. Это может быть достаточно раздражительным, так как процессы-зомби видимы при помощи ps, а пользователи никак не могут их завершить, так как они уже завершены. Более того, они продолжают занимать структуру ргос, уменьшая тем самым максимальное количество активных процессов.
В некоторых реализациях UNIX для хранения таких данных используются специальные структуры zombie.