code: def start(self):
          
  
          env = os.environ.copy()
          if sys.platform.startswith("win"):
              # add the Npcap directory to $PATH to force uBridge to use npcap DLL instead of Winpcap (if installed)
              system_root = os.path.join(os.path.expandvars("%SystemRoot%"), "System32", "Npcap")
              if os.path.isdir(system_root):
                  env["PATH"] = system_root + ';' + env["PATH"]
          yield from self._check_ubridge_version(env)
          try:
              command = self._build_command()
              log.info("starting ubridge: {}".format(command))
              self._stdout_file = os.path.join(self._working_dir, "ubridge.log")
              log.info("logging to {}".format(self._stdout_file))
              with open(self._stdout_file, "w", encoding="utf-8") as fd:
                  self._process = yield from asyncio.create_subprocess_exec(*command,
                                                                            stdout=fd,
                                                                            stderr=subprocess.STDOUT,
                                                                            cwd=self._working_dir,
                                                                            env=env)
  
              log.info("ubridge started PID={}".format(self._process.pid))
          except (OSError, PermissionError, subprocess.SubprocessError) as e:
              ubridge_stdout = self.read_stdout()
              log.error("Could not start ubridge: {}\n{}".format(e, ubridge_stdout))
              raise UbridgeError("Could not start ubridge: {}\n{}".format(e, ubridge_stdout))
docs: Starts the uBridge hypervisor process.