У меня проблема с запуском команды linux с использованием ProcessBuilder в java
Я уже пробовал следующее
- перенаправление потоков вывода и ошибок на всякий случай, чтобы увидеть, если япо-прежнему получать ответ или нет
- создает файл сценария bash из простой команды, чтобы проверить, работает ли он
- , используя sh / csh для запуска команды
Ничто из вышеперечисленного не работает.Любая помощь в этом отношении была бы очень ценной!
ProcessBuilder builder = new ProcessBuilder("/bin/bash", "-c",
"exec /proj/tgf_ki/dailytest/bin/tgv STABTDD4A");
System.out.println("command :: " + builder.command());
Process child = builder.start();
List<String> lines1 = new ArrayList<>();
InputStreamReader isr = new InputStreamReader(child.getInputStream());
BufferedReader br = new BufferedReader(isr);
br.lines().forEach(lines1::add);
System.out.println(lines1);
child.waitFor();
Я ожидаю, что я получу ответ от outputtream, но поток просто ждет неопределенно в строке child.waitFor ()
есть другая подобная команда, называемая tgr, которая успешно возвращается с ответом!Поскольку я являюсь сторонним разработчиком сценариев, предоставляемых клиентом, я не совсем уверен, было ли какое-либо различие в сценариях tgr и tgv