Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по потокам Runtime / 3 сообщений из 3, страница 1 из 1
09.12.2005, 11:12
    #33426840
Igor-65
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по потокам Runtime
Привет, нужна помощь ...

Задача:
открыть сессию (например ssh)
послать туда команду (например ls -l)
получить ответ
послать еще команду (например, ps -ef| grep ...)
получить ответ
........
закрыть сессию.

пока проблема в самом начале : не могу получить ответ от старта сессии
клиент - win_xp
(для ssh ключи настроены)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
     public   static   void  test_Ssh() {

        String cmd = "ssh2 user@server";
        StringBuffer strb =  new  StringBuffer( 1024 );
         int  ch;

        Process process =  null ;
         try  {
            Runtime runtime = Runtime.getRuntime();

            process = runtime.exec(cmd);
            OutputStream os = process.getOutputStream();
            InputStream is = process.getInputStream();
            InputStreamReader isr =   new  InputStreamReader(is,"IBM866");

// вот тут крутимся до бесконечности :(
             while  (is.available()== 0 ) {
                Thread.currentThread().sleep( 100 );
            }
// сюда не доходим.

             while  ((ch = isr.read()) != - 1 ) {  
                System.out.print(( char )ch);
                strb.append(( char )ch);
                //Thread.currentThread().sleep();
            }
            System.out.println(strb.toString());

            ..........
            //далее код поскипан

            process.destroy();

        }  catch  (IOException e) {
            e.printStackTrace();  
        }  catch  (InterruptedException e) {
            e.printStackTrace();  
        }
    }

Если я стартую команду
String cmd = "cmd.exe ssh2 user@server";
то я вижу ответ
Код: plaintext
1.
2.
3.
4.
Microsoft Windows XP [Версия  5 . 1 . 2600 ]
(С) Корпорация Майкрософт,  1985 - 2001 .

C:\zzWork\IdeaProjects\test1>
но следов старта ssh я не вижу.

если я даю команду напрямую
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
C:\zzWork\Projects\arhive\2005_12_08>ssh2 user@server
Authentication successful.
Last login: Thu Dec   8   12 : 56 : 41   2005  from  192 . 168 . 112 . 102 
Sun Microsystems Inc.   SunOS  5 . 8        Generic Patch   October  2001 
Sun Microsystems Inc.   SunOS  5 . 8        Generic Patch   October  2001 
You have  new  mail.
$

Где я прокалываюсь ??
Ткните меня, пожалуйста в какойнибудь пример.

да, еще. С запуском типа "cmd.exe /c ssh2 user@server ls -l" проблем нет. ответ получаю. Но хочется все в одной сессии проделать.

заранее спасибо
...
Рейтинг: 0 / 0
09.12.2005, 11:14
    #33426850
Igor-65
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по потокам Runtime
[quot я]
если я даю команду напрямую
[quot я]
хотел сказать "в командной строке winxp"
...
Рейтинг: 0 / 0
09.12.2005, 12:55
    #33427188
Igor-65
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по потокам Runtime
похоже, так никто не делает.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по потокам Runtime / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]