12-20-2001
About zombie processes, I have several opinion.
1) The cause lead to generation of zombie is, when the child processes stop (as you know, a signal of SIGCHLD will be sent to the father process), normally the father should do something with the signal SIGCHLD with the system call wait() or waitpid(). But if the father process encounters a logical error in his internal procedure. certainly the signal SIGCHLD is blocked. so the father can not release the resource occupied by his child processes. you can run 'ps -ef|grep defunct' to search all the zombies.
2) To solve this problem. you can kill the father process of all the dufunct processes. the initial process 'init' will release all the zombies automaticlly.
Another thing, I am from China. So my english language may be not good enough to interpret all your doubtness! Thank you!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
How do i kill a zombie process. Is it that only root can kill a zombie process. (8 Replies)
Discussion started by: orca
8 Replies
2. UNIX for Dummies Questions & Answers
When you run a ps -ef and if the status is a Z (zombie) does that mean the same as not responding? (Like a windows machine).
Also has anyone here heard of the program called 'top' (I've found it on our Solaris 7 machines) If you have you might be able to help me. I need to know if there is a... (8 Replies)
Discussion started by: merlin
8 Replies
3. UNIX for Advanced & Expert Users
I would like to create a zombie process so that I can test monitoring software functionality. Any techniques? (2 Replies)
Discussion started by: swhitney
2 Replies
4. Shell Programming and Scripting
Hi
I need help because I don't know if it is possible to add a find inside a cat.
like I have a file with the pid of the process that use to became zombie. And I have the same pid stored in the var (pid1)
now, I have no clue how to check if the the find finds the pid or even if it's... (2 Replies)
Discussion started by: ruben.rodrigues
2 Replies
5. Solaris
dear friends,
in an interview they asked me what is zombie process. how we can identifying these process.if can you kill all zombie process. (8 Replies)
Discussion started by: sijocg
8 Replies
6. AIX
Is there an equivilant to the preap command in AIX that would allow me to get rid of a zombie process. I am new to AIX, moving over from Solaris and in the past I have been able to preap the pid on the defunct process to clean them up. I have looked around and the best I can see is that it may... (3 Replies)
Discussion started by: sboots
3 Replies
7. UNIX for Dummies Questions & Answers
Hello
I try to googled it , but I dint get sufficient answer :( ..
When I can see zombie running on server do they consume system resources or not ?
I have read that is not good to kill them with signal 9 cause it might cause more troubles .. why is kill -9 so harmfull?
thanks (2 Replies)
Discussion started by: kvok
2 Replies
8. UNIX for Advanced & Expert Users
What is the overhead associated with zombie process?Is it running out of process-ID?:confused:
Since some information is stored in process table..
Thanks in Advance (4 Replies)
Discussion started by: jois
4 Replies
9. Red Hat
Hi,
Linux redhat 5.5
top shows that i have 20 zombie process :
Tasks: 357 total, 1 running, 336 sleeping, 0 stopped, 20 zombie
Cpu(s): 0.2%us, 0.3%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 24949400k total, 2363052k used, 22586348k free, 227084k buffers... (1 Reply)
Discussion started by: yoavbe
1 Replies
10. Programming
hello all,
when we are creating a process by using fork, if the child process terminates before parent, the child process exists as zombie.. My doubt is when that child process terminates, how come that process exists further and show as a zombie process..can anyone help me to clear about this? (1 Reply)
Discussion started by: aarathy
1 Replies
LEARN ABOUT OPENDARWIN
preap
preap(1) User Commands preap(1)
NAME
preap - force a defunct process to be reaped by its parent
SYNOPSIS
preap [-F] pid...
DESCRIPTION
A defunct (or zombie) process is one whose exit status has yet to be reaped by its parent. The exit status is reaped via the wait(3C),
waitid(2), or waitpid(3C) system call. In the normal course of system operation, zombies may occur, but are typically short-lived. This may
happen if a parent exits without having reaped the exit status of some or all of its children. In that case, those children are reparented
to PID 1. See init(1M), which periodically reaps such processes.
An irresponsible parent process may not exit for a very long time and thus leave zombies on the system. Since the operating system destroys
nearly all components of a process before it becomes defunct, such defunct processes do not normally impact system operation. However, they
do consume a small amount of system memory.
preap forces the parent of the process specified by pid to waitid(3C) for pid, if pid represents a defunct process.
preap will attempt to prevent the administrator from unwisely reaping a child process which might soon be reaped by the parent, if:
o The process is a child of init(1M).
o The parent process is stopped and might wait on the child when it is again allowed to run.
o The process has been defunct for less than one minute.
OPTIONS
The following option is supported:
-F Forces the parent to reap the child, overriding safety checks.
OPERANDS
The following operand is supported:
pid Process ID list.
EXIT STATUS
The following exit values are returned by preap, which prints the exit status of each target process reaped:
0 Successfully operation.
non-zero Failure, such as no such process, permission denied, or invalid option.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu (32-bit) |
+-----------------------------+-----------------------------+
| |SUNWesxu (64-bit) |
+-----------------------------+-----------------------------+
SEE ALSO
proc(1), init(1M), waitid(2), wait(3C), waitpid(3C), proc(4), attributes(5)
WARNINGS
preap should be applied sparingly and only in situations in which the administrator or developer has confirmed that defunct processes will
not be reaped by the parent process. Otherwise, applying preap may damage the parent process in unpredictable ways.
SunOS 5.10 26 Mar 2001 preap(1)