Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск приложений с терминала, с последующим его закрытием. 
:(
    Опции темы
VasiliyKel
  Дата 19.4.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ситуация:
Логинюсь на удалённый сервер при помощи PuTTy.
Запускаю скрипт следующего содержания:
Код
#!/bin/sh
case "$1" in
start)
        echo "Starting $0 daemon"
        cd /home/admin/server/
        /home/admin/jdk1.5.0_06/bin/java -jar lib/server.jar &
        ;;
stop)
        echo "Stopping $0 daemon"
        ;;
restart)
        echo "Restarting $0 daemon"
        ;;

*)
        echo "Usage: server start|restart|stop"
        exit 1;
esac

То есть в консоли делаю:
Код
user@host ~$./server start

Проблема в том, что при закрытии PuTTy умирает запущенная джарка smile
Как этого избежать? 
PM MAIL   Вверх
smartov
Дата 19.4.2006, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


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

Репутация: 17
Всего: 259



user@host ~$./server start & 
PM MAIL   Вверх
batigoal
Дата 19.4.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Цитата(smartov @  19.4.2006,  17:57 Найти цитируемый пост)
user@host ~$./server start & 

Это запуск в фоновом режиме, я правильно понимаю? 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
MAKCim
Дата 19.4.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 21
Всего: 207



Цитата

Это запуск в фоновом режиме, я правильно понимаю?  

да 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Бонифаций
Дата 19.4.2006, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



неправильный ответ. В самом скрипте и так жаба в бакгроунд отправляется. проблема в том, что жабское приложение имеет открытый stdin/stdout и при их закрытии (когда Putty завершает работу) получает сигнал (sighup если мне не изменяет склероз) и завершается. 

Правильный ответ будет - либо использовать nohup, типа 
start)
        echo "Starting $0 daemon"
        cd /home/admin/server/
       nohup  /home/admin/jdk1.5.0_06/bin/java -jar lib/server.jar &

либо ручками переназначить stdin/stderr  в null,
типа

 /home/admin/jdk1.5.0_06/bin/java -jar lib/server.jar  2>&1 >/dev/null &

 либо использовать что типа screen (см man screen )
 

Это сообщение отредактировал(а) Бонифаций - 19.4.2006, 18:08


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
bilbobagginz
Дата 20.4.2006, 05:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


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

Репутация: 113
Всего: 317



ок. ребяты.. все ответы хороши, но не до конца.
дело в том, что перенаправление ввода/вывода/гона это только часть вещей.
в линуксе по умолчанию приложения при запуске подключаются к обработчикам сигналов.
один из них - это сигнал отключения клиентского терминала, или SIGHUP (устанавливается по умолчанию при термниналах типа tty).
если приложение специально не игнорирует или пергружает обработчик этого сигнала, то при получении оного, приложение убивается с помощью обработчика SIGTERM. ( см. man 7 signal )
для полного отрыва от терминала требуется:
1. процесс запускать при помощи программы nohup, как указал уважаемый Бонифаций
2. процесс запускать через не 'tty'-ный терминал - напр при помощи прямой команды ssh:
ssh user@host /path 2> errfile.log  1> outfile.log
( т.е. не всегда получится вылечить смерть лишь перенаправлением каналов вывода и ошибок. )

ессно, в случае 2  нужно навести порядок с PATH и другими переменными перед запуском самой жавы.

пока.




  

Это сообщение отредактировал(а) bilbobagginz - 20.4.2006, 05:17


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

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


 




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


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

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