A zombie process can be explained as a child process that has finished executing (That means it is in it's terminated state) but has not exited main memory, still having its control block in the main memory. It usually does not consume any resources and is referred to as being dead, hence the name. The child can only leave after the exit status has been received and acknowledged by the parent process.