os._exit in _start_child may cause unexpected exception

In _start_child, we may os._exit(status).
status is set by the return value of _child_wait_for_exit_or_signal.
, where status may be None.
And defensive coding to prevent the unexpected exceptions

Change-Id: I4b89147225cc9e848a97816f171f77236bd23b2c
Merge "os._exit in _start_child may cause unexpected exception"