06-21-2011
As jlliagre mentioned, zombies are already dead. They consume no resources aside from their entry in the process table. Whatever memory they were using has been returned to the system. Whatever descriptors they held open have been closed. Etcetera.
A zombie occurs when a process does not collect the exit information of a child. If you are seeing a lot of zombies, then you have a poorly coded program running on your system. If you kill this program (the parent of the zombies), the zombies will be adopted by init (PID 1) and it will take care of them.
So, a less drastic workaround than rebooting the system would be to restart the application that created those zombies. I don't use solaris, but from what I just read, preap as suggested tamitot allows you to avoid a restart of even a single process. Best solution of course is to fix the program which spawned the zombies in the first place (although I realize that sometimes this is not possible).
Regards,
Alister
This User Gave Thanks to alister For This Post:
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 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
3. Shell Programming and Scripting
Hi Friends,
I am new to this forum as well as new to shell scripting.
I have a problem here and i need someone to solve this.
Let us consider there are two processes(abc & def).There is a script which kills these two processes(i.e killtheprocess abc). Here abc is the argument .
There is a... (1 Reply)
Discussion started by: Prince89
1 Replies
4. Linux
Hi
What is the command to find only the zombie processes??
How to write the code in C to fetch the no. of zombie processes??
Thanx (5 Replies)
Discussion started by: jeenat
5 Replies
5. 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
6. Red Hat
I have an app server running on Redhat 4.0. There are about 30 processes spawned (all by the same user). When the DB goes down before the app server, it leaves them all running, but they're zombies. The app utility can't shut them down even when the DB comes back up. I've killed them from the... (2 Replies)
Discussion started by: abNORMal
2 Replies
7. 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
8. 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
9. Shell Programming and Scripting
I had issues with processes locking up. This script checks for processes and kills them if they are older than a certain time.
Its uses some functions you'll need to define or remove, like slog() which I use for logging, and is_running() which checks if this script is already running so you can... (0 Replies)
Discussion started by: sukerman
0 Replies
10. 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
reboot(8) System Manager's Manual reboot(8)
NAME
reboot - Restarts the machine
SYNOPSIS
/usr/sbin/reboot [-dlnq]
DESCRIPTION
When the system is running and multiple users are logged in, use the shutdown -r command to perform a reboot operation. If no users are
logged in, use the reboot command.
The reboot command normally stops all running processes, syncs the disks, logs the reboot, and writes a shutdown entry in the login
accounting file, /var/adm/wtmp.
The reboot command uses the sync call to synchronize the disks, and to perform other shutdown activities such as resynchronizing the hard-
ware time-of-day clock. After these activities, the system reboots. By default, the system starts and the file systems are automatically
checked. If the start-up activities are successful, the system comes up in the default run-level.
You must have root privileges to use this command. Using the -n flag can result in file system damage.
FLAGS
Generates a crash dump of the system before halting it. Can be used with any of the other flags. Does not log the reboot using syslog
Does not sync the disks or log the reboot using syslog Performs a quick reboot without first shutting down running processes; does not log
the reboot using syslog
EXAMPLES
To enable the default reboot action, enter: reboot This command causes the system to stop all running processes, sync the disks, log the
shutdown, and perform other routine shutdown and reboot activities. To shut down the system without logging the reboot, enter: reboot -l
This command shuts down the system and performs all shutdown and reboot activities, except logging the shutdown. To reboot the system
abruptly, enter: reboot -q This command reboots the system abruptly without shutting down running processes.
FILES
Specifies the command path Specifies the login accounting file Specifies the path of the syslog daemon
RELATED INFORMATION
Commands: fsck(8), halt(8), init(8), savecore(8) shutdown(8), syslogd(8)
Functions: reboot(2), sync(2), syslog(3) delim off
reboot(8)