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

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    |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at  |

Home | Main Index | Thread Index | Old Index