code: def popen(fn, *args, **kwargs) -> subprocess.Popen:
      
  
      args = popen_encode(fn, *args, **kwargs)
  
      logging.getLogger(__name__).debug('Start %s', args)
  
      p = subprocess.Popen(args)
      return p
docs: Please ensure you're not killing the process before it had started properly
      :param fn:
      :param args:
      :param kwargs:
      :return: