[arch-general] Zombie Processes

Kevin Ott supercodingmonkey at gmail.com
Wed Aug 27 11:09:02 EDT 2014


On Wednesday, August 27, 2014 02:48:55 PM Andy Pieters wrote:
> 
> On 27 August 2014 02:03, Jan Alexander Steffens <jan.steffens at gmail.com> wrote:
> >
> > No, since a zombie process is dead and cannot execute any code.
> 
> >To expand more on that: zombie process in not really a process
> >anymore. In fact, it's not anything more than a little bundle of data
> >(basically just an integer containing the exist status of the process
> >and some flags) that are processed by wait().
> 
> That's very interesting, I have always been taught that zombies are bad because they take up resources like memory and CPU cycles, hold locks etc.
> 
> Are you saying that is wrong and the only thing being taken up is just a tiny bundle of data?
> 
> Andy

It doesn't make sense that zombie processes would take up anything more than a few bits (possibly a bit more) somewhere if you understand what exactly they are. Zombie processes are just processes that have finished doing everything they need to do. The only reason they're still around (even though they're not, the result of their execution is stored along with a few things and the process just sits idle) is because their parent process hasn't checked to "reap" the child process yet (hence the term "zombie process", the process is actually dead, but it partially isn't treated as such since the parent still needs to get information from  it). Since the process isn't actually active it wouldn't make sense for it to be taking up CPU cycles (if it is given a cycle, it will just pass it off), memory (it's done executing, there's nothing left to store in memory except the result), locks (again, nothing is running if it's holding a lock there's a problem), or anything else of that nature.


More information about the arch-general mailing list