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


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

Автор Тема: Перенаправление команды из сессии screen в консоль linux (сервер Minecraft)  (Прочитано 451 раз)

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

Оффлайн maxonlinux

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Здравствуйте. Попрошу за Майнкрафт не закидывать тапками! У меня есть сервер, который запускается так:
#!/bin/bash
while true
do
java -jar core.jar
done
и все это запускается в скрине. Соответственно, если сервер по каким-то причинам падает/останавливается - этот скрипт запускает его заново. Мне нужно, чтобы при вводе в консоль сервера команды /stop сервер останавливался, а не запускался снова. Иные варианты, типа "Убивай скрин" не годятся. Спасибо!

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
maxonlinux, если приложение возвращает 0 при успешном выходе и не 0 при падении то можно дописать java -jar core.jar && exit
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн maxonlinux

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
maxonlinux, если приложение возвращает 0 при успешном выходе и не 0 при падении то можно дописать java -jar core.jar && exit
while
do
java -jar core.jar && exit
done
Я правильно понял? В таком случае, оно по-любому закрывается.

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2200
  • X-9000SC
    • Просмотр профиля
maxonlinux,
если у вас работает скрипт постоянно запускающий сервер, то о какой команде stop вообще может идти речь? Убивайте сначала скрипт, только потом команда stop серверу.
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн maxonlinux

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
maxonlinux,
если у вас работает скрипт постоянно запускающий сервер, то о какой команде stop вообще может идти речь? Убивайте сначала скрипт, только потом команда stop серверу.
дружище! Мне нужно, чтобы этот самый зацикленный скрипт проверял вывод консоли сервера на предмет выражения "Stopping server..." и сразу же останавливал цикл, а потом сервер уже сам себя вырубит. Поскольку сервер записывает лог в реальном времени, можно проверять лог на наличие вышеуказанного сообщения. Этим должен заняться оператор until, который по идее должен останавливать цикл, если условие будет истинно.
[code][code][code][code]until [ /server/logs/latest.log | grep -oq "Stopping server" ]
do
java -jar core.jar
done
[/code][/code][/code][/code]
Но он почему-то не останавливает луп. Что посоветуете?

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 1967
    • Просмотр профиля
Код: Bash
  1. until [ "$(grep "Stopping server" /server/logs/latest.log)" ]
  2. do
  3.       java -jar core.jar
  4. done
  5.  
оно?

 

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