>Using $?, > > trap("CHLD"){Process.wait; ..using $? ..} > >should work fine. In addition, this variable is thread independent. But isn't there a race condition there? What happens if two children exit at the same time? How do I know that the exit code that Ruby placed in $? corresponds to the PID returned from Process.wait? /\ndy