def start(self): """ Start process. .. note:: Process will be considered started, when defined banner will appear in process output. """ Executor.start(self) # get a polling object self.poll_obj = select.poll() # register a file descriptor # POLLIN because we will wait for data to read self.poll_obj.register(self.output(), select.POLLIN) try: self.wait_for(self._wait_for_output) # unregister the file descriptor and delete the polling object self.poll_obj.unregister(self.output()) finally: del self.poll_obj