def start(self, sockets=None, **kwargs):
        """
        start execution
        """
        stream = sockets or self.sockets()
        pumps = []

        if self.interactive:
            pumps.append(io.Pump(io.Stream(self.stdin), stream, wait_for_output=False))

        pumps.append(io.Pump(stream, io.Stream(self.stdout), propagate_close=False))
        # FIXME: since exec_start returns a single socket, how do we
        #        distinguish between stdout and stderr?
        # pumps.append(io.Pump(stream, io.Stream(self.stderr), propagate_close=False))

        return pumps
def start ( self , sockets = None , ** kwargs ) : stream = sockets or self . sockets ( ) pumps = [ ] if self . interactive : pumps . append ( io . Pump ( io . Stream ( self . stdin ) , stream , wait_for_output = False ) ) pumps . append ( io . Pump ( stream , io . Stream ( self . stdout ) , propagate_close = False ) ) return pumps
start execution