code: def _op_start_proc(op, run, quiet, extra_env):
      env = _op_proc_env(op, run)
      if extra_env:
          env.update(extra_env)
      run.write_attr("env", _safe_env(env, op))
      log.debug("starting run %s in %s", run.id, run.dir)
      log.debug("operation command: %s", op.cmd_args)
      if os.getenv("DEBUG_ENV") == "1":
          log.debug("operation env: %s", _hide_secret_env(env))
      stdout, stderr = _proc_streams(quiet)
      try:
          proc = subprocess.Popen(
              op.cmd_args,
              env=env,
              cwd=run.dir,
              stdout=stdout,
              stderr=stderr,
          )
      except OSError as e:
          raise ProcessError(e) from e
      else:
          op_util.write_proc_lock(proc.pid, run)
          return proc
  
imports: import logging
  import os
  import subprocess
  import time
  from guild import config
  from guild import exit_code
  from guild import log
  from guild import op_dep
  from guild import op_util
  from guild import run
  from guild import util
label_desc: Use image node_id 10 for calling a global function with example usage: _op_start_proc(op, run, quiet, extra_env) and returns: proc