10-13-2013
Hi, methyl.
Your post does not describe zombies (processes which have already exited), but living processes which are permanently stuck in an uninterruptible sleep (as you mentioned, typically due to a driver bug and/or hardware fault).
Regards,
Alister
6 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Okay, I'm working within ansi C and Sun Solaris 7. I have a problem with zombies. I'm currently using the kill command to return the status of a process. How do I check for Zombie PIDs or the right function to return its PID from within a C program? (1 Reply)
Discussion started by: karpolu
1 Replies
2. UNIX for Dummies Questions & Answers
Is there a command that will automaticaly go through and kill all children when you try to kill the parent process.
Thanks,
David (3 Replies)
Discussion started by: nucca
3 Replies
3. HP-UX
Hi All
I need help, how can i kill zombies instead of rebooting the system.
Regards
System: sna Tue Apr 5 17:50:23 2005
Load averages: 0.05, 0.15, 0.22
168 processes: 157 sleeping, 5 running, 6 zombies
Cpu states:
CPU LOAD USER NICE... (5 Replies)
Discussion started by: cgege
5 Replies
4. Programming
i'm writing small http proxy server (accept client -> connect to remote proxy server -> recv client's request -> send to remote proxy server -> get responce from remote proxy server -> send answer to client -> close connection to client and to remote proxy server) and having problems with fork().... (2 Replies)
Discussion started by: PsycoMan
2 Replies
5. UNIX for Dummies Questions & Answers
I had a problem deleting a zombie process. It refused to be killed.
I even tried kill -9 process# but it refused.
Any other way of killing it? (7 Replies)
Discussion started by: victorn
7 Replies
6. Programming
what are the precautions to be taken care for avoiding zombie process ? (8 Replies)
Discussion started by: Gopi Krishna P
8 Replies
wakeup(9r) wakeup(9r)
NAME
wakeup - General: Wakes up all processes sleeping on a specified address
SYNOPSIS
void wakeup(
caddr_t channel );
ARGUMENTS
Specifies the address on which the wakeup is to be issued.
DESCRIPTION
The wakeup routine wakes up all processes sleeping on the address specified by the channel argument. All processes sleeping on this address
are awakened and made ready to be scheduled according to the priorities they specified when they went to sleep. It is possible that there
are no processes sleeping on the channel at the time the wakeup is issued. This situation can occur for a variety of reasons and does not
represent an error condition.
The sleep and wakeup routines block and unblock a process. Generally, a device driver issues these routines on behalf of a process request-
ing I/O while a transfer is in progress. That is, a process requesting I/O is put to sleep on an address associated with the request by the
appropriate device driver routine. When the transfer has asynchronously completed, the device driver interrupt service routine issues a
wakeup on the address associated with the completed request. This action makes the relevant process to be scheduled.
The process resumes execution within the relevant device driver routine at the point immediately following the request to sleep. The
driver, on behalf of the process, can then determine whether the condition for which it was sleeping (in this example, completion of an I/O
request) has been removed. If so, it can continue on to complete the I/O request. Otherwise, the appropriate driver routine can decide to
put the process back to sleep to await removal of the indicated condition.
RETURN VALUES
None
SEE ALSO
Routines: mpsleep(9r), sleep(9r)
wakeup(9r)