Computing.Net > Forums > Unix > Defunct processes

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

Defunct processes

Reply to Message Icon

Name: vincent fernandes
Date: May 9, 2002 at 21:39:00 Pacific
Comment:

Hi,
we are facing a problem of defunct processes getting created on our Server.
We are using Aix 4.3.3 with Oracle 8.1.7.3
Would like to know if there is any way we can avoid the defunct processes getting started.

Any help/suggestions would be appreciated.

Vincent



Sponsored Link
Ads by Google

Response Number 1
Name: PaulS
Date: May 10, 2002 at 08:07:49 Pacific
Reply:

That sounds like more of a programming question. Those defunct processes should have a parent. So I would get the PID of the parent and ask why the parent is creating so many defunct processes.

If you are identifying the defunct processes with the ps command, you might also want to keep this in mind (I yanked this off a ps man page--but not sure if it applies to AIX):

-->MANPAGE Things can change while ps is running; the snap-shot it gives is true only for a split-second, and it may not be accurate by the time you see it. Some data printed for defunct processes is irrelevant---


0

Response Number 2
Name: Rex
Date: May 13, 2002 at 21:19:24 Pacific
Reply:

Just to clarify matters on ZOMBIE/defunct processes.

This is the normal life of a program.
fork()INIT->exec()->RUN->exit()->ZOMBIE->done

INIT(fork)
The program is started by a parent
process, an action called fork()
The fork makes a copy(the child) of
the calling process(the parent).
exec()
The child then issues an exec()
system call which replaces the new
process with the intended executable
file.
SRUN/URUN (system/user run space)
The new child program now runs. Now
the parent is either waiting(in a
SLEEP) for the child to finish or
checks for the childs completion or
the system notifys the parent on exit
of the child process.
exit()
The child exits and returns the
resources(memory) to the system.
ZOMBIE/defunct
At this point the child has terminated and is in ZOMBIE/defunct
state. THIS IS NORMAL!!
It will stay in this state until the
parent process acknowledges receipt of the appropriate signal or terminates.

If the parent process has died
unexpectedly or something else has prevented acknowledgment from the
parent then process ID #1 (init) takes over and becomes the childs parent until reboot.

So...
A zombie does not tie up memory but it still has a slot in the process table. I/O devices can get locked out.

You can't kill a ZOMBIE/defunct process because......
IT'S ALREADY DEAD!!!
Leave them till ur next reboot and talk to the programmer.


0

Sponsored Link
Ads by Google
Reply to Message Icon

Related Posts

See More


Date in Unix using Korn S... using grep -b



Post Locked

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.


Go to Unix Forum Home


Sponsored links

Ads by Google


Results for: Defunct processes

Kill defunct process without root www.computing.net/answers/unix/kill-defunct-process-without-root/4260.html

Monitoring hanging/zombie processes www.computing.net/answers/unix/monitoring-hangingzombie-processes/3354.html

Defunct and Zombie Process www.computing.net/answers/unix/defunct-and-zombie-process/2188.html