Java ssh execution

Рейтинг: 1Ответов: 1Опубликовано: 29.06.2011

В результате выполнения нижеприведенного кода в консоли остается пустота.

Process p = Runtime.getRuntime().exec("ssh -V");
InputStreamReader in = new InputStreamReader(p.getInputStream());
BufferedReader input = new BufferedReader (in);

String line;
while ((line = input.readLine()) != null) {
    System.out.println(line);
}

Если написать "exec("date")" или exec("ls"), то консоль правильно заполняется данными.

Может быть у кого-то будут идеи, в чем проблема?

Спасибо!

Ответы

▲ 4Принят

Всё потому, что ssh -V печатает не в stdout, а в stderr. Чтобы читать оттуда, надо открыть другой стрим через getErrorStream.