Ответ 1
Если вы не застряли на древней JVM, java.lang.ProcessBuilder
упрощает определение процесса, настройку его среды, spawn он и обрабатывает дескрипторы файла.
Этот класс используется для создания процессов операционной системы.
Каждый экземпляр
ProcessBuilder
управляет набором атрибутов процесса. Методstart()
создает новый экземплярProcess
с этими атрибутами. Методstart()
может быть вызван повторно из одного и того же экземпляра для создания новых подпроцессов с идентичными или связанными атрибутами....
Запуск нового процесса, который использует рабочий каталог и среду по умолчанию, легко:
Process p = new ProcessBuilder("myCommand", "myArg").start();
Вот пример, который запускает процесс с измененным рабочим каталогом и средой:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2"); Map<String, String> env = pb.environment(); env.put("VAR1", "myValue"); env.remove("OTHERVAR"); env.put("VAR2", env.get("VAR1") + "suffix"); pb.directory(new File("myDir")); Process p = pb.start();