SIGKILL sent, SIGCHLD received, waitpid called... but still running?
I'm running into an odd problem that only seems to appear on HP-UX.
Currently I'm working with an HP-UX 11.11 machine. We're firing off
a *lot* of scripts, a few dozen a minute, and intercepting their
Normally they take much less than a second to run, but once in a
while (for no apparent reason) they exceed our timeouts (~5 seconds).
We send a SIGKILL to them, and we're logging that we get a SIGCLHD
and use waitpid to collect their status.
Every once in a while, the process is still there. Honest. We've
logged that we sent a SIGKILL, and I see a SIGCHLD recieved, and I
see a waitpid called and succeeded and returned that process ID.
But the process still shows up in the process list, in "S" (sleeping)
state. I can kill -9 it, and we get *another* SIGCHLD and recieve
that process ID again.
I do not see anything logged that we started another script with
that process ID at that time (or, indeed, any other time). It shows
up as a script program in the process list; it's not some other
process on the machine that happened to get that process ID.
Anyone have a clue? I'm *not* saying it's a bug in HP-UX, but I
can't figure out what kind of mistakes we could make to cause this
sort of behavior...
Ray Ingles (313) 227-2317
Gillette plans on spending $300 million to promote a razor that
cost $750 million to develop. And people complain about 'waste'
when private donations totalling $134,500 are spent on SETI...