Используйте process = Runtime.getRuntime.exec("other.sh")
, чтобы запустить other.sh, который выходит с 1, однако process.waitFor()
возвращается с 0. Под Linux RedHat 7.
other.sh просто запускает другой Java-процесс, который возвращает System.exit(1)
.
Я видел ту же проблему в https://coderanch.com/t/326568/java/exitValue-returns-inconsistent-values. Однако там говорилось, что это ошибка JDK в 1.4, и она уже исправлена. Однако я использую JDK 1.8.
Я просто хочу знать, есть ли другие возможности, ведущие к такому странному поведению? Теперь наш клиент и мы оба разочарованы этой невероятной проблемой.