2010-12-09 5 views
0

Я разрабатываю инструмент для сбора журналов с удаленного сервера (Solaris) в локальной системе (Windows). Я успешно установил соединение с сервером с помощью TelnetToClient.java. Я попытался выдать команду через Runtime.getRuntime.Exec(), но она не работала. Затем я попробовал со следующим кодом, чтобы отправить команду на сервер, чтобы удалить файл (просто чтобы убедиться, что этот способ выдачи команды работает).Нужна помощь в выдаче команды tail на удаленном сервере из GUI

Public void exeComm (String comm) { try { _executor.sendCommand (comm); } поймать (IOException е) { e.printStackTrace();}}

Где Прдч это команда выдается что «гт/тест», который успешно удаляет тестовый файл, расположенный в корневом каталоге. Я последовал за тем же способом, чтобы выдать команду на хвост журнала. Команда была «tail -f /usr/log/tracelog.log >> tailedtracelog», но это не выдаёт команду серверу, и поэтому я не могу задержать журнал, который является моим основным требованием. Я попробовал такую ​​же команду delete, используя Runtime.getRuntime.Exec(), которая также не работает. Может кто-то, пожалуйста, помогите мне в этом ?. Заранее спасибо.

+0

Подвешивание в сек. Итак, ваше требование для копирования журналов из окна Solaris в окно Windows? Или это создает консоль, которая управляет удаленным журналом? –

+0

Привет, Martijn, я разрабатываю инструмент (GUI) в окнах, который должен собирать журналы из окна Solaris. – passionatebalu

+0

Являются ли эти журналы сгенерированы log4j или какой-либо другой общей системой регистрации? –

ответ

1

А этот старый классик :). Пожалуйста, прочитайте Why Runtime exec() won't

+0

Я прочитал эту статью. Что такое альтернативный способ для этого? – passionatebalu

+0

В статье есть раздел о необходимости разделения потоков ввода и вывода при работе с командами удаленной файловой системы, которые выводят на выходе. –