Harry Ohlsen wrote:

> Ignore my previous ramblings.  I've worked it out.
> 
> In case it helps someone else ...
> 
> The process was defunct because the parent hadn't done a wait() for it.  I
> was able to change my status checking to the equivalent of
> 
>    puts (Process.waitpid(pid, Process:WNOHANG) == pid) ? "dead" : "alive"
> 
> which works a treat (although, I'll have to think a bit more about error
> cases).

Hi Harry,

I don't know if you're interested, but I wrote a Ruby extension to the 'ps' 
command called "Sys/ProcTable".  It's available on the RAA and works for 
Linux and Solaris.  I hope to have a BSD version working soon as well.

With it, you can check the status (i.e. zombie, active, etc), among other 
things.

Regards,

Dan