Accumulating <defunct> children in vi (SCO UNIX V.3.2.0)

Dick Dunn rcd at ico.isc.com
Wed Aug 22 04:51:26 AEST 1990


irv at happym.wa.com (Irving Wolfe) writes:
> I frequently pipe a paragraph out from vi...
...
> Tonight I was doing it and after awhile the system ate my text and replaced it
> with "No more processes."...
...
> ...I had about 20
> <defunct> children of my vi process hanging around.  When I exited vi again,
> they all disappeared...

1.  This doesn't seem specific to SCO; apparently it's in the release
version of vi for V.3.2/386.

2.  (To Irving's later question) No, it's not related to the directory you
were in.

3.  The problem is caused by vi not doing a wait() for the filter
processes.  I don't know whether it's in vi _per_se_ or in some library
code, but a <defunct> process (a "zombie") means it's terminated but the
parent hasn't acknowledged it.

4.  To work around the problem, escape out of vi with :sh, then drop back
in.  Vi has to wait for the shell; in the process of doing so it reaps all
the other zombies.
-- 
Dick Dunn     rcd at ico.isc.com -or- ico!rcd       Boulder, CO   (303)449-2870
   ...Are you making this up as you go along?



More information about the Comp.unix.i386 mailing list