public PtyProcess start()

in src/com/pty4j/PtyProcessBuilder.java [148:176]


  public PtyProcess start() throws IOException {
    if (myEnvironment == null) {
      myEnvironment = System.getenv();
    }
    PtyProcessOptions options = new PtyProcessOptions(myCommand,
            myEnvironment,
            myDirectory,
            myRedirectErrorStream,
            myInitialColumns,
            myInitialRows,
            myWindowsAnsiColorEnabled,
            myUnixOpenTtyToPreserveOutputAfterTermination,
            mySpawnProcessUsingJdkOnMacIntel);
    if (Platform.isWindows()) {
      if (myCygwin) {
        return new CygwinPtyProcess(myCommand.toArray(), myEnvironment, myDirectory, myLogFile, myConsole);
      }
      if (myUseWinConPty && !myConsole) {
        try {
          return new WinConPtyProcess(options, mySuspendedProcessCallback);
        }
        catch (UnsatisfiedLinkError e) {
          LOG.info("Cannot create ConPTY process, fallback to winpty", e);
        }
      }
      return new WinPtyProcess(options, myConsole);
    }
    return new UnixPtyProcess(options, myConsole);
  }