Start wait_callback after setting self.pipe, to avoid crash in _wait_for_end when the process takes a while to start