Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Автоматический рестарт приложения при падении  (Прочитано 5386 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lexicon

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
На Ubuntu 9.10 запускается сервер игры Wolfenstein Enemy territory, Как сделать так, чтобы при падении игрового серва (сама система работает) происходил автоматический рестарт?

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Запускать его командой
while true ; do ./сервер ; sleep 1 ; done
sleep - на всякий случай, можно убрать. :)
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

rapidsp

  • Гость
Не слишком брутальный способ? :)

есть такая чтука monit
http://mmonit.com/monit/
ставится из стандартных репов. Может подойдет.

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Не слишком брутальный способ? :)
Нормальный способ. Главное, чтобы ./сервер не форкался при запуске.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн shost

  • Активист
  • *
  • Сообщений: 560
    • Просмотр профиля
а штатный респаун в ините не пойдет?
вроде оно самое то

Оффлайн lexicon

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
А как, с помощью respawn запускаться? У меня строка запуска выглядит примерно так
(Нажмите, чтобы показать/скрыть)

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
А как, с помощью respawn запускаться?

man 5 init
http://upstart.ubuntu.com/
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн lexicon

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Запускать его командой
while true ; do ./сервер ; sleep 1 ; done
sleep - на всякий случай, можно убрать. :)
Спасибо. Это работает. А как теперь, если понадобится убить сервер без перезагрузки?

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Прибить тот bash, который выполняет эту команду.
$ ps axfпокажет наглядно, кто чей потомок.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
sleep - на всякий случай, можно убрать. :)
Один пользователь очень страдал от недозагрузки своего мощного компьютера.
Это для него написано, я так понял. :idiot2:

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
sleep - на всякий случай, можно убрать. :)
Один пользователь очень страдал от недозагрузки своего мощного компьютера.
Это для него написано, я так понял. :idiot2:
sleep - это таймаут, ожидание, никакой загрузки.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Я в курсе.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
sleep написано на случай, если компьютер на самом деле  кр00той и немерено быстрый, а команда запущена с консоли, и ее надо срочно прервать по Ctrl-C.  ;)
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн madaxus

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Моя любимая фишка в такой задаче - ":" вместо "true"while :;do ./сервер;sleep 1;done :)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
sleep написано на случай, если компьютер на самом деле  кр00той и немерено быстрый, а команда запущена с консоли, и ее надо срочно прервать по Ctrl-C.  ;)
Это серьезный аргумент. :idiot2:

 

Страница сгенерирована за 0.015 секунд. Запросов: 19.