@SuppressWarnings("HardCodedStringLiteral")
  private static @NotNull String getCwdOnUnix(int pid) throws ExecutionException {
    GeneralCommandLine commandLine = new GeneralCommandLine("lsof", "-a", "-d", "cwd", "-p", String.valueOf(pid), "-Fn");
    CapturingProcessRunner runner = new CapturingProcessRunner(new OSProcessHandler(commandLine));
    ProcessOutput output = runner.runProcess(TIMEOUT_MILLIS);
    if (output.isTimeout()) {
      throw new ExecutionException("Timeout running " + commandLine.getCommandLineString());
    }
    if (output.getExitCode() != 0) {
      throw new ExecutionException("Exit code " + output.getExitCode() + " for " + commandLine.getCommandLineString());
    }
    String workingDir = parseWorkingDirectory(output.getStdoutLines(), pid);
    if (workingDir == null) {
      throw new ExecutionException("Cannot parse working directory from " + commandLine.getCommandLineString());
    }
    return workingDir;
  }
@SuppressWarnings("HardCodedStringLiteral")
  private static @NotNull String getCwdOnUnix(int pid)