Выполнение Linux-файла .sh из Java с файлом параметров в качестве входных данных и запись результатов в .txt - PullRequest
0 голосов
/ 18 июля 2011

когда я пытаюсь в оболочке linux запустить следующий скрипт,

cd /home/fpalma/Project/resources/yices/linux64bit/
bash
chmod a+x yices
./yices /home/fpalma/Project/out/SMT.ys > /home/fpalma/Project/out/SMT.txt

он работает и генерирует текстовый файл как вывод этого исполняемого файла yices. Но когда я запускаю те же сценарии оболочки из Java, используя код,

String command = mainGUI.PROJECT_PATH+"resources/"+"yices.sh";
process = Runtime.getRuntime().exec(command);
process.waitFor();

или

String command = mainGUI.PROJECT_PATH+"resources/"+"yices.sh";
pb = new ProcessBuilder(command);
run = Runtime.getRuntime();
Process p = pb.start();

он также работает, но не завершается, и, если я не завершаю работу самого java-компилятора, он не генерирует текстовый выходной файл. Любые предложения ???

Цель: моя цель - запустить исполняемый файл из java, используя входной файл параметров, а затем сгенерировать выходной текстовый файл, используя оператор «>».

1 Ответ

0 голосов
/ 18 июля 2011

ваша переменная "command" должна содержать полную команду, то есть: mainGUI.PROJECT_PATH + "resources /" + "yices.sh /home/fpalma/Project/out/SMT.ys> /home/fpalma/Project/out/SMT.txt"

...