def spawn(self, classpath, main, jvm_options=None, args=None, cwd=None, **subprocess_args):
    """Spawns the java program passing any extra subprocess kwargs on to subprocess.Popen.

    Returns the Popen process object handle to the spawned java program subprocess.

    :API: public

    :raises: :class:`Executor.Error` if there is a problem spawning the subprocess.
    """
    cwd = cwd or os.getcwd()
    cmd = self._create_command(*self._scrub_args(classpath, main, jvm_options, args, cwd=cwd))
    return self._spawn(cmd, cwd, **subprocess_args)
Spawns the java program passing any extra subprocess kwargs on to subprocess.Popen.

    Returns the Popen process object handle to the spawned java program subprocess.

    :API: public

    :raises: :class:`Executor.Error` if there is a problem spawning the subprocess.