code: def run_command(commands):
          use_shell = False
          subprocess_flags = 0
          startupinfo = None
          if sysstr == 'Windows':
              if isinstance(commands, list):
                  commands = ' '.join(str(c) for c in commands)
              import ctypes
              SEM_NOGPFAULTERRORBOX = 0x0002
              ctypes.windll.kernel32.SetErrorMode(SEM_NOGPFAULTERRORBOX)
              subprocess_flags = 0x8000000
              startupinfo = subprocess.STARTUPINFO()
              startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
          else:
              if is_string(commands):
                  use_shell = True
              elif isinstance(commands, list):
                  if commands[0][0] == commands[0][-1] == '"' or \
                          commands[0][0] == commands[0][-1] == "'":
                      commands[0] = commands[0][1:-1]
                  for idx, v in enumerate(commands):
                      if isinstance(v, int) or isinstance(v, float):
                          commands[idx] = repr(v)
          print(commands)
          process = subprocess.Popen(commands, shell=use_shell, stdout=subprocess.PIPE,
                                     stdin=open(os.devnull),
                                     stderr=subprocess.STDOUT, universal_newlines=True,
                                     startupinfo=startupinfo,
                                     creationflags=subprocess_flags)
          out, err = process.communicate()
          recode = process.returncode
          if out is None:
              return ['']
          if recode is not None and recode != 0:
              raise subprocess.CalledProcessError(-1, commands,
                                                  "ERROR occurred when running subprocess!")
          if '\n' in out:
              return out.split('\n')
          return [out]