code: def _run_with_subprocess_popen(self) -> None:
      cmd = [sys.executable] + [self.script_path] + self.script_args
  
      with subprocess.Popen(
          cmd,
          stdout=subprocess.PIPE,
          stderr=subprocess.STDOUT,
          bufsize=0,
          close_fds=True,
          env=self.env,
      ) as proc:
          self.pid = proc.pid
          if proc.stdout:
              with proc.stdout:
                  for line in iter(proc.stdout.readline, b""):
                      logger.info("%s", line.decode().rstrip())
  
          self.exit_code = proc.wait()
          if self.exit_code != 0:
              raise Exception(self.exit_code)
  
file_path: pytorch-lightning/src/lightning/app/components/python/popen.py
imports: import os
  import signal
  import subprocess
  import sys
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Union
  from lightning.app.core.work import LightningWork
  from lightning.app.utilities.app_helpers import Logger, _collect_child_process_pids
  from lightning.app.utilities.tracer import Tracer
label_desc: Use image node_id 6 for calling the PopenPythonScript obj's underlying member method code with example usage: obj._run_with_subprocess_popen() without return types