2012-06-14 3 views
2

Я пытаюсь запустить Asterisk CLI с Java. НапримерЗапустить Asterisk CLI с Java

asterisk -rx "core show license" 

я реализую Java-код, как этот

  Process p = Runtime.getRuntime().exec("asterisk -rx \"core show license\""); 
     p.waitFor(); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(
       p.getInputStream())); 
     String line = reader.readLine(); 

Но то, что я получил это

No such command '"core' (type 'core show help core' for other possible commands) 

из консоли Linux.

Мне интересно, что я сделал ошибка.

Благодаря

+0

Почему на земле вам пришлось бы делать такую ​​вещь вместо использования AMI (API-менеджера звездочки)? – pdeschen

+0

На самом деле, я знаю, что это можно сделать с менеджером, но мне просто интересно. – user454083

+0

@pdeschen «Почему на земле» Там ограничивается документацией по использованию API. – Siddharth

ответ

0
Process p = Runtime.getRuntime().exec(new String[]{"asterisk","-rx","\"core show license\""}); 

В версии exec(String) строка будет лексемы по умолчанию StringTokenizer, что отделяет маркеры пробелами. То есть причина, по неизвестной «команде ядра в звездочке

(не уверен, если.„Команда ядра шоу лицензии“необходимо перейти в кавычки)

0

Как об этом способе:

Process p = Runtime.getRuntime().exec(
    new String[] {"asterisk", "-rx", "core show license"}); 
Смежные вопросы