Handle kill signals gracefully

In your testing, was it actually getting to this point ($child_pid == 0)?  The kill signal test is only being exercised if the worker gets a PID.  Maybe this needs to be a do/while loop, so that we guarantee that we can spawn and reap a worker at least once before concluding that this functioned correctly.  Otherwise this looks great.