code: public static String launchProcess(final String command,
                                         final Map<String, String> environment, boolean backend) throws IOException {
          String[] cmds = command.split(" ");
  
          ArrayList<String> cmdList = new ArrayList<>();
          for (String tok : cmds) {
              if (!StringUtils.isBlank(tok)) {
                  cmdList.add(tok);
              }
          }
  
          return launchProcess(command, cmdList, environment, backend);
      }
docs: it should use DefaultExecutor to start a process,
  but some little problem have been found,
  such as exitCode/output string so still use the old method to start process
  
  @param command     command to be executed
  @param environment env vars
  @param backend     whether the command is executed at backend
  @return outputString
  @throws IOException