LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 11-06-2007, 05:52 PM   #1
mrryanthai
LQ Newbie
 
Registered: Oct 2007
Posts: 28

Rep: Reputation: 15
a dumb question but i'm a noobie with linux


what is a zombie?thanks
 
Old 11-06-2007, 05:54 PM   #2
jlgreer1
Member
 
Registered: Aug 2005
Location: Under the rainbow
Distribution: LFS 7, CentOS 7, OS X
Posts: 119

Rep: Reputation: 25
A process that has died but has not yet relinquished its process table slot (because the parent process hasn't executed a wait(2) for it yet). These can be seen in ps(1) listings occasionally.
 
Old 11-06-2007, 08:03 PM   #3
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,662
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Welcome aboard! Remember, there is no "dumb question" other than the one you are too timid to ask. Every single one of us started where you are now, and we remember it well.

One of the key ideas in Unix/Linux is that you can launch another program to do some useful part of whatever-it-is that you happen to be doing. (Which happens to be a very useful idea.) But the problem is, if we now have all these programs executing independently of one another, yet nonetheless needing to find out whether some-other program (that they had launched...) succeeded or failed, we need to have a way for the programs to rendezvous with one another. In other words, if "program-A" launches "program-B" and then needs to do one-thing versus another-thing based on whether "program-B" succeeded or failed ... then we need to have a reliable way for "program-A" to determine the outcome of "program-B" ... no matter which one of the two programs happens to "finish first."
  1. If "program-B" is a slowpoke, then "program-A" will just wait.
  2. But what if "program-B" is a speed-demon? What if "program-B" comes-and-goes before "program-A" gets a chance to find out what it did?
So here's what happens: when "program-B" finishes, instead of going-away completely, it becomes a "zombie." It's waiting for "program-A" (its "parent") to investigate it. Only when its parent ("program-A") actually does so will "program-B" completely disappear.

(Yes, it is waiting-around in zombie-land specifically so that its parent has an opportunity to find out what happened, no matter which one may have finished first. This is "why" the notion of 'zombies' exists...)

And in case you are wondering, "what if 'program-A' dies, and never inquires about 'program-B'?" Well, in that case, Linux itself (technically: "the init process") plays The Grim Reaper and cleans-up the mess...

Last edited by sundialsvcs; 11-06-2007 at 08:05 PM.
 
Old 11-07-2007, 12:53 AM   #4
zebias
LQ Newbie
 
Registered: Nov 2007
Location: Harare Zimbabwe
Distribution: Red Hat 9
Posts: 17

Rep: Reputation: 0
Zombies are dead processes. You cannot kill the dead. All processes eventually die, and when they do they become zombies. They consume almost no resources, which is to be expected because they are dead! The reason for zombies is so the zombie's parent (process) can retrieve the zombie's exit status and resource usage statistics. The parent signals the operating system that it no longer needs the zombie by using one of the wait() system calls.


If you have zombie processes it means those zombies have not been waited for by their parent (look at PPID displayed by ps -l)




Zebias Zingoni
 
Old 11-07-2007, 01:08 AM   #5
zebias
LQ Newbie
 
Registered: Nov 2007
Location: Harare Zimbabwe
Distribution: Red Hat 9
Posts: 17

Rep: Reputation: 0
A zombie is a process that has completed execution but still has an entry in the processes table allowing the process that started it to read its exit status

You can use a # top or #ps
to find a zombie process.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
smart noobie question alaios SUSE / openSUSE 1 10-27-2006 10:03 AM
Video Editing in Linux? (Noobie question) Riff Linux - Software 1 08-11-2006 06:43 AM
dumb mac/linux question citrus Linux - Newbie 7 08-07-2005 03:40 PM
noobie question about rc.d file bob cashman Ubuntu 3 07-15-2005 10:31 AM
Dumb Question - What programs in Linux are there for me to program in C/C++? eBopBob Linux - Software 9 02-28-2004 03:47 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 05:23 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration