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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перезапуск java -приложения, программа убилась ,а после запустилась 
:(
    Опции темы
savage_fx
Дата 25.7.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 23.10.2006

Репутация: -1
Всего: 0



Как сделать , чтобы программа закончила работу , а после сразу автоматически запустилась ее новая копия. Если можно то приведите пожадуйста пример кода.
PM MAIL   Вверх
Samotnik
Дата 26.7.2007, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



Цитата(savage_fx @  25.7.2007,  23:05 Найти цитируемый пост)
Как сделать , чтобы программа закончила работу , а после сразу автоматически запустилась ее новая копия

А можно узнать, что значит АВТОМАТИЧЕСКИ  ??????????
PM MAIL   Вверх
nornad
Дата 26.7.2007, 05:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Например, в функции main запускать главную форму в цикле и в модальном режиме. При возврате смотреть на некоторый статус и решать, запускать снова или завершаться совсем.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
anonymouse
Дата 26.7.2007, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 18.8.2004

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



Обычно используется .bat или .sh файл. Программа при выходе возвращает специфический код. (например System.exit(99)). А в батнике проверяется, и для этого кода программа запускается снова. (можно и заменить старую версию на новую перед запуском). Если же программа вернулась с другой ошибкой, значит либо произошла непредвиденная ошибка, или планировался "полный" выход из программы.
--------------------
Много чего интересного...
PM MAIL   Вверх
LSD
Дата 26.7.2007, 14:42 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Код
public static void main(String[] args)
{
  Runtime.getRuntime().addShutdownHook(new RunNewInstanceHook("java", "-Xmx512M", "-jar", "my.jar"));
}

private static class RunNewInstanceHook extends Thread
{
  private String[] commands;

  public RunNewInstanceHook(String... args)
  {
    commands = args;
  }

  @Override
  public void run()
  {
    try
    {
      new ProcessBuilder().command(commands).start();
    }
    catch(IOException e)
    {
      e.printStackTrace();
    }
  }
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
niasilil
Дата 27.7.2007, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

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



addShutdownHook вместе с ProcessBuilder - красиво, блин. 


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
anonymouse
Дата 27.7.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 18.8.2004

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



Сколько всего интересного оказывается добавили в 1.5.
Не знал.
 LSD +

Это сообщение отредактировал(а) anonymouse - 27.7.2007, 10:58
--------------------
Много чего интересного...
PM MAIL   Вверх
LSD
Дата 27.7.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Ну ProcessBuilder необязателен, можно обойтись Runtime.exec(), а Runtime.addShutdownHook() появилось еще в 1.3.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
niasilil
Дата 27.7.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

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



Цитата(LSD @ 27.7.2007,  11:51)
Ну ProcessBuilder необязателен, можно обойтись Runtime.exec()

вопрос: 
как быть если программа xxx.jar не позволяет запускать двух инстансов самой себя, тогда при исполнении addShutdownHook запускает саму себя же xxx.jar и не запустится? новый поток, который ждет завершени xxx.jar и запускает заново? некузяво как то. 


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
LSD
Дата 28.7.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(niasilil @  27.7.2007,  22:49 Найти цитируемый пост)
как быть если программа xxx.jar не позволяет запускать двух инстансов самой себя, тогда при исполнении addShutdownHook запускает саму себя же xxx.jar и не запустится? новый поток, который ждет завершени xxx.jar и запускает заново?

Если программа не позволяет запускать саму себя, то из этой программы нельзя ее и перезапустить. Надо или использовать внешнее приложение или скрипт ОС.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
niasilil
Дата 28.7.2007, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.6.2007
Где: USA

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



Цитата(LSD @ 28.7.2007,  12:38)
Цитата(niasilil @  27.7.2007,  22:49 Найти цитируемый пост)
как быть если программа xxx.jar не позволяет запускать двух инстансов самой себя, тогда при исполнении addShutdownHook запускает саму себя же xxx.jar и не запустится? новый поток, который ждет завершени xxx.jar и запускает заново?

Если программа не позволяет запускать саму себя, то из этой программы нельзя ее и перезапустить. Надо или использовать внешнее приложение или скрипт ОС.

о, точно. с помощью ProcessBuilder запустить отдельный jar, в котором запустить эту же программу. 

А какой скрипт можно написать чтобы на всех ОС работал? Можно ли такое сделать? 


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
w1nd
Дата 29.7.2007, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата(niasilil @  28.7.2007,  20:46 Найти цитируемый пост)
А какой скрипт можно написать чтобы на всех ОС работал? Можно ли такое сделать? 

Питон или Перл. Только должны быть установлены соответствующие интерпретаторы ;)

Это сообщение отредактировал(а) w1nd - 29.7.2007, 00:21


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
nornad
Дата 29.7.2007, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(w1nd @  29.7.2007,  03:20 Найти цитируемый пост)
Только должны быть установлены соответствующие интерпретаторы

Ну, тогда можно что угодно, вплоть то до шелла. smile 

Цитата(niasilil @  28.7.2007,  23:46 Найти цитируемый пост)
А какой скрипт можно написать чтобы на всех ОС работал?

Ну уверен, но может JavaScript?


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
nerezus
  Дата 29.7.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

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



nornad, джаваскрипт работает в браузере и имеет куеву хучу ограничений.
И не подходит.

Цитата

А какой скрипт можно написать чтобы на всех ОС работал?
 python, к примеру. А еще правильнее - сделать JScript для венды и sh для никсов - т.е. 2 реализации


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
nornad
Дата 29.7.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(nerezus @  29.7.2007,  15:13 Найти цитируемый пост)
джаваскрипт работает в браузере

В винде (начиная с 2к, хотя и на 9х поставить можно) жаваскрипт не только в браузере работает. Про WSH слышал? Ограничений (таких сильных, как в браузере) этот вариант не имеет.
Подозреваю, что в линухе тоже можно запустить жаваскрипт на уровне системы, а не браузера. Но гарантий не дам.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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