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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

Оффлайн maxonlinux

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

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • 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
Я правильно понял? В таком случае, оно по-любому закрывается.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
maxonlinux,
если у вас работает скрипт постоянно запускающий сервер, то о какой команде stop вообще может идти речь? Убивайте сначала скрипт, только потом команда stop серверу.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн 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

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Код: (bash) [Выделить]
until [ "$(grep "Stopping server" /server/logs/latest.log)" ]
do
      java -jar core.jar
done
оно?

 

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