Во-первых, скорее всего, Runtime.exec()
возвращается асинхронно, так что просто печать "end" всегда будет работать, поскольку вызов exec немедленно возвращается, что вы и видите.
Здесь есть куча других проблем. Я думаю, что происходит, что программы, которые вы вызываете, могут выводить ввод / вывод на стандартный вывод, который вы не можете прочитать, или, возможно, вам нужно дождаться, пока он завершит , прежде чем выйти из процесса Java. Есть отличная статья о различных проблемах с Runtime.exec()
, которую вы, вероятно, должны прочитать, она освещает эту и другие проблемы.