I have read the following statement.
The status argument given to _exit() defines the termination status of the process, which is available to the p
_exit() doesn't return means that when a process calls _exit(), that call never returns from it (in this case, because the process terminates).
_exit() is a system call, and takes an argument. The kernel saves that argument in an internal structure. The kernel has a lightweight structure for processes that have already exited but have not yet been waited-for (zombies). When a process waits for its children via wait() (another system call), the kernel retrieves that value, and forgets about the zombie.