09-25-2011
If a process has finished but is still hanging around in the process list, it's not an orphan. What you're describing is a zombie. The process is dead but it's still in the process list in case its parent tries to check its exit status.
If the parent exits without ever checking the zombie child's exit status, the zombie child at that point becomes an orphan. However, the orphaned zombie exists only very briefly in this state; the init process adopts it and the zombie disappears.
If instead the child process was still active when the parent exits, it becomes an orphan without ever being a zombie. It is adopted by init and it continues running as if nothing had happened.
So, what are you trying to filter? Zombies or orphans? Also, you should state what operating system you're using, since process list tools tend to be highly unportable.
Regards,
Alister
Last edited by alister; 09-25-2011 at 01:45 PM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Is it possible to have a main script (i will call it main.ksh) that executes say, 4 other scripts (sub_prog_1.ksh, sub_prog_2.ksh etc..) from within this main.ksh (simultaneously/in parallel), have them run in the background and communicate back to main.ksh when complete?
My guess is to use... (1 Reply)
Discussion started by: google
1 Replies
2. UNIX for Dummies Questions & Answers
What command string will locate ONLY the PID of a process and ouput only the number of PID of the process? (1 Reply)
Discussion started by: mma_buc_98
1 Replies
3. Shell Programming and Scripting
does anyone know how to lower the sheduling priority of a process. (3 Replies)
Discussion started by: master_6ez
3 Replies
4. Shell Programming and Scripting
I have a file like this.
No. State Query Times User Processed Syslog
1 ready idle 973s 0 /Application/ugsvols/bldata01/logs/imanscript1562.syslog
2 ready idle 803s 83997 13 /Application/ugsvols/bldata01/logs/imanscript1542.syslog
3 ready idle 2954s 106641... (17 Replies)
Discussion started by: Krrishv
17 Replies
5. UNIX for Advanced & Expert Users
Is there a way to monitor certain processes and if they hang too long to kill them, but certain scripts which are expected to take a long time to let them go?
Thank you
Richard (4 Replies)
Discussion started by: ukndoit
4 Replies
6. Solaris
Is there any command that removes orphaned packages in Solaris ? Or a program similar to gtkorphan from Debian ? (7 Replies)
Discussion started by: chinezu'
7 Replies
7. Solaris
Hi
Is there an easy way to identify and group currently running processes into OS processes and APP processes. Not all applications are installed as packages.
Any free tools or scripts to do this?
Many thanks. (2 Replies)
Discussion started by: wilsonee
2 Replies
8. Shell Programming and Scripting
I've search the various posts in these forums, but have not come up with a solution to my problem.
I have a parent process that calls a child script, runs it in the background and the parent finishes - without waiting for the child process to complete. Inside the child, a trap is issued to trap... (6 Replies)
Discussion started by: HobieCoop
6 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. Red Hat
Hello,
How can we clear the D state (orphaned) process? I have tried to kill it with kill -9 but not work.
The server is critical, so is there anyway to clear the D process without rebooting the server? (9 Replies)
Discussion started by: Phat
9 Replies
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)