2015-07-21 4 views
0

Я использую Java, чтобы выполнить команду Python, т.е.Java Runtime Строка Синтаксический

ctool run <cluster_name> <nodes> <command> 

Поэтому в основном это работает <command> в заданных узлах кластера. Например:

ctool run my_cluster all 'rm -rf /home/tester/folder' 

Это работает «гт -rf/дом/тестер/папку» на «все» узлы «my_cluster», который работает прекрасно от терминала, но когда я бегу это от времени выполнения Java, как строка, она принимает любые опции, такие как -p, -r и т. д. в <command> как опция ctool и ошибка использования throwing.

Я предполагаю, что это имеет какое-то отношение к тому, как строка обрабатывает команду. Есть ли способ решить эту проблему?

+1

Post код, чтобы мы могли видеть проблему, если есть один. – gbtimmon

+1

Показать код java, который вы используете для запуска команды ... –

ответ

0

Это должно работать:

Process process = new ProcessBuilder("rm","-rf","/home/tester/folder").start(); 
InputStream is = process.getInputStream(); 
InputStreamReader isr = new InputStreamReader(is); 
BufferedReader br = new BufferedReader(isr); 
String out; 
while ((out = br.readLine()) != null) { 
    System.out.println(out); 
} 
Смежные вопросы