Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Killing a zombie process?
On Thu, 24 Sep 2015, Paul Goyette wrote:
Yup, my zombie's parent PPID==1
If init is really its parent, check its "ps axl" output and
check its WCHAN. If it isn't "wait", maybe run "ktruss -p 1" to
get an idea of what it is doing instead of wait*() calls.
See ps output above; init's WCHAN==wait
So no clue on why it's not getting around to reaping child 27237.
I would try sending init a HUP, which should rescan /etc/ttys and not
really do anything. But it will then call wait(2) again, and if there
was a glitch where init was already in wait and the offending process's
transition to zombie and ppid==1 didn't cause a wakeup, then it may
resolve.
No luck... I HUPed init, but the zombie is still there.
# kill -HUP 1
# ps axl | grep ' Z '
0 27237 1 0 0 0 0 0 - Z pts/2- 0:00.00 (sh)
Well, it happened again!
I rebooted earlier today, and then deinstalled and rebuilt about 40
packages within the pkgsrc/sysutils/mksandbox environment (all with
MAKE_JOBS=3 enabled). After all packages were rebuilt, I exit from the
sandbox and run ./sandbox/dismount and get the error
umount: /sandbox/bin: Device busy
Sure enough, there's a new Zombie process, and its parent seems to be
init (PPID==0)
# ps axl | grep ' Z '
0 23848 2812 0 85 0 4360 164 pipe_rd R+ pts/2 0:00.00 grep Z
0 25439 1 0 0 0 0 0 - Z pts/2 0:00.00 (sh)
HUPing init still doesn't help.
So, I'm pretty sure that there's a bug somewhere, but haven't a clue on
where to start looking.
+------------------+--------------------------+-------------------------+
| Paul Goyette | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+-------------------------+
Home |
Main Index |
Thread Index |
Old Index