code: def start(self):
          
  
          yield from self._check_requirements()
          if not self.is_running():
              nio = self._ethernet_adapter.get_nio(0)
              command = self._build_command()
              try:
                  log.info("Starting VPCS: {}".format(command))
                  self._vpcs_stdout_file = os.path.join(self.working_dir, "vpcs.log")
                  log.info("Logging to {}".format(self._vpcs_stdout_file))
                  flags = 0
                  if sys.platform.startswith("win32"):
                      flags = subprocess.CREATE_NEW_PROCESS_GROUP
                  with open(self._vpcs_stdout_file, "w", encoding="utf-8") as fd:
                      self.command_line = ' '.join(command)
                      self._process = yield from asyncio.create_subprocess_exec(*command,
                                                                                stdout=fd,
                                                                                stderr=subprocess.STDOUT,
                                                                                cwd=self.working_dir,
                                                                                creationflags=flags)
                      monitor_process(self._process, self._termination_callback)
  
                  yield from self._start_ubridge()
                  if nio:
                      yield from self.add_ubridge_udp_connection("VPCS-{}".format(self._id), self._local_udp_tunnel[1], nio)
  
                  yield from self.start_wrap_console()
  
                  log.info("VPCS instance {} started PID={}".format(self.name, self._process.pid))
                  self._started = True
                  self.status = "started"
              except (OSError, subprocess.SubprocessError) as e:
                  vpcs_stdout = self.read_vpcs_stdout()
                  log.error("Could not start VPCS {}: {}\n{}".format(self._vpcs_path(), e, vpcs_stdout))
                  raise VPCSError("Could not start VPCS {}: {}\n{}".format(self._vpcs_path(), e, vpcs_stdout))
docs: Starts the VPCS process.