'Starts a new process on background.
See `Specifying command and arguments` and `Process configuration`
for more information about the arguments, and `Run Process` keyword
for related examples.
Makes the started process new `active process`. Returns an identifier
that can be used as a handle to activate the started process if needed.
Starting from Robot Framework 2.8.5, processes are started so that
they create a new process group. This allows sending signals to and
terminating also possible child processes. This is not supported by
Jython in general nor by Python versions prior to 2.7 on Windows.'

def start_process(self, command, *arguments, **configuration):

    conf = ProcessConfiguration(**configuration)
    command = conf.get_command(command, list(arguments))
    self._log_start(command, conf)
    process = subprocess.Popen(command, **conf.popen_config)
    self._results[process] = ExecutionResult(process, **conf.result_config)
    return self._processes.register(process, alias=conf.alias)
