ProcessBuilder не возвращается с ответом команды linux - PullRequest
0 голосов
/ 25 марта 2019

У меня проблема с запуском команды 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

...