Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> System call 
:(
    Опции темы
foRaver
  Дата 25.4.2004, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 561
Регистрация: 6.7.2003
Где: Düsseldorf

Репутация: нет
Всего: 3



Такая тема: есть программа написаная на Java (JSP) под Linux. Требуется запустить другую программу, используя механизм системного вызова. (System Call)

Зарание спасибо.

Это сообщение отредактировал(а) foRaver - 25.4.2004, 21:50
PM MAIL WWW ICQ YIM   Вверх
Sun
Дата 26.4.2004, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48



Есть два способа:
1. Вызвать через Runtime.getRuntime().exec програмку выполняющую системный вызов
2. Использовать Native Interface написать .so библиотечку с функцией выполняющими этот вызов


--------------------
Account removed
PM MAIL   Вверх
sergejzr
Дата 26.4.2004, 19:47 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



Вот работающий пример.
Функция call даже возвращает строку, которую выдаст вызываемое приложение wink.gif

Удачи!

Сергей.

Код

//--------------------------SystemCall.java------------------------------------------
import java.io.*;

class SystemCall
{
public static String call(String call)
 {
       Process p=null;
   Runtime r=Runtime.getRuntime();
   try
    {
  //Тут собственно сама команда
    p=r.exec(call);
  }
     catch (IOException e)
      {
    System.out.println("ne poluchilos' vypolnit' "+call);
       return null;
      }
  InputStream   is =p.getInputStream();
   InputStreamReader  isr =new InputStreamReader(is);
   BufferedReader   br  =new BufferedReader(isr);
    String s="";
    try
     {
     s=br.readLine();
     System.out.println(s);
     br.close();
     }
     catch(IOException e)
     {
   System.out.println("ne poluchilos' zachitat' "+s);
      return null;
     }
    p.destroy();
   return s;
  }
public static void main(String argv[])
{
 SystemCall.call("java ");
}
}
//--------------------------SystemCall.java------------------------------------------




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
foRaver
Дата 26.4.2004, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 561
Регистрация: 6.7.2003
Где: Düsseldorf

Репутация: нет
Всего: 3



Sun, спасибо огромное, вариант No. 1 оказался то что надо! thumbs-up.gif
sergej.z, и тебе тоже спасибо огромное smile.gif


Это сообщение отредактировал(а) foRaver - 26.4.2004, 21:07
PM MAIL WWW ICQ YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0603 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.