Как запустить несколько команд в строгой последовательности (используя ProcessBuilder
или Runtime.exec
- что самое простое)?Java запускает несколько команд строго последовательно
Пример:
Process process1 = Runtime.getRuntime().exec("myFirstCommand");
process1.waitFor();
Runtime.getRuntime().exec("mySecondCommand");
работает отлично, однако, я хочу назвать Runtime.exec/ProcessBuilder.start()
только раз и возвращение сразу. Так что в основном это должно работать так, как если бы я назвал пакетный файл, содержащий эти две команды из инструмента командной строки (чего я не могу сделать, потому что эти две команды генерируются динамически). mySecondCommand
не должен быть запущен до завершения myFirstCommand
!
Любые идеи?
_Некоторые из ваших строк в примере 1 запускают две команды. Вы читали документацию по этим вопросам? –
Да, и это работает в моем коде –
Документация противоречит вам. Он может «работать» в вашем коде, только если «myFirstCommand» оказался такой программой, которая использует свой аргумент как имя запускаемой программы. –