code: def run_subprocess(self, cmd: List[str]) -> int:
      p = subprocess.Popen(cmd)
  
      with det.util.forward_signals(p):
          while True:
              try:
                  return p.wait(timeout=60)
              except subprocess.TimeoutExpired:
                  self.keep_alive()
  
imports: import logging
  import os
  import selectors
  import signal
  import socket
  import subprocess
  import time
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import determined
label_desc: Use image node_id 7 for calling the PIDClient obj's underlying member method code with example usage: obj.run_subprocess(cmd) and returns: p