home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!overload!dillon
- From: dillon@overload.Berkeley.CA.US (Matthew Dillon)
- Newsgroups: comp.sys.next.programmer
- Subject: Re: zombies (was Re: What does a task with priority -1 mean?)
- Distribution: usa
- Message-ID: <dillon.0rio@overload.Berkeley.CA.US>
- References: <1dmp94INNppe@uwm.edu> <1992Nov10.152955.21859@menudo.uh.edu> <10NOV199210153953@mpx2.lampf.lanl.gov> <74594@hydra.gatech.EDU>
- Date: 22 Nov 92 11:20:16 PST
- Organization: Not an Organization
- Lines: 36
-
- In article <74594@hydra.gatech.EDU> cc100aa@xray.gatech.edu (Ray Spalding) writes:
- >To avoid zombies, a UNIX process doing a fork (a parent process)
- >must reap it's child(ren). This is done by some varient of the
- >wait(2) system call, and it may be helpful to install a SIGCHLD
- >handler. The man pages seem to imply that wait() is an optional
- >feature, but failure to call it will result in a zombie.
- >
- >It sounds like Terminal is not doing this properly. The Subprocess
- >example does not seem to do this, either.
-
- If the parent process exits any unreaped zombies are supposed to go
- away. Therefore, logging out *should* fix the problem.
-
- If it doesn't, it's a bug. Another problem that I've found... you
- can't kill a process that is blocked in device-open (e.g. blocked on a
- dialup tty). That is definitely a bug, when you kill a process (kill
- -9 pid) it's supposed to die, period.
-
- -Matt
-
- >Most UNIXes I'm familiar with report zombies as <defunct>, but
- >Mach apparently doesn't, if what's been reported here is correct.
- >Also, on other UNIXes, killing them (from root) is no problem.
- >
- >--
- >Ray Spalding, Office of Information Technology
- >Georgia Institute of Technology, Atlanta Georgia, 30332-0715
- >Internet: ray.spalding@oit.gatech.edu (NeXT Mail accepted)
-
- --
-
- Matthew Dillon dillon@Overload.Berkeley.CA.US
- 1005 Apollo Way uunet.uu.net!overload!dillon
- Incline Village, NV. 89451 ham: KC6LVW (no mail drop)
- USA Sandel-Avery Engineering (702)831-8000
-
-