class_docstr: Launch a starcraft server, initialize a controller, and later, clean up.
  
  This is best used from run_configs, which decides which version to run, and
  where to find it.
  
  It is important to call `close` or use it as a context manager, otherwise
  you'll likely leak temp files and SC2 processes.
code: def pid(self):
      return self._proc.pid if self.running else None
  
imports: import os
  import platform
  import shutil
  import subprocess
  import tempfile
  import time
  from absl import flags
  from absl import logging
  import portpicker
  from pysc2.lib import remote_controller
  from pysc2.lib import stopwatch
label_desc: Use image node_id 14 for calling the StarcraftProcess obj's underlying member method code with example usage: obj.pid() and returns: unknown