Задать вопрос
@Vasya_635465

Как сделать чтобы при закрытии терминала работающий процесс не крашился?

Значит решил я создать свой маленький уютный сервачок для одной малоизвестной инди-игрушки (Mindustry). Все самое страшное позади, но вот на финишной прямой возникла вот такая проблема. Суть ее такова.
Так вот чтобы запустить сервер мне нужно сделать такие действия.
<code lang="bash">
java -jar Server.jar
</code>
Далее в запущенной программе прописать "host", чтобы запустить сервер. Все идет замечательно. Да вот только как только я закрою терминал сервер крашнется. Так вот как перевести процесс в фоновый режим чтобы закрыть консоль, не буду же я держать ПК все время включенным.
Я уже попробовал использовать:
<code lang="bash">
nohup Java -jar Server.jar
</code>
Да принцип ясен. Но он просто запускает процесс в разряд "running", а чтобы запустить сервер нужно еще прописать "host" в этой программе которая запущена. Я теперь уже не знаю что делать. Для вас решение может показаться очевидным, но изучаю это второй день, и могу тупить на примитивных вещах.
Заранее всех благодарю за ответы.
  • Вопрос задан
  • 2310 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 4
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Попробуйте
nohup echo "host" | Java -jar Server.jar &

P.S. Но после этого у вас встанет следующая по очереди проблема: а как запускать сервер по новой в случае его падения? Без полноценного демона не обойтись.
Ответ написан
borisdenis
@borisdenis
Ленив и вреден...
@freehostua
Работаю в FREEhost.UA
Воспользуйтесь screen. Позволяет оставлять процессы после закрытия терминала. Самые популярные горячие клавиши:

ctrl+a+c - создать новый скрин
ctrl+a+пробел - переключиться на следующий скрин

ctrl+r войти в скрины. Если у Вас сессий несколько тогда ctrl+rD+ идентификатор скрина

ну команда screen начинает работу со скринами.
Ответ написан
Комментировать
FoxCloud
@FoxCloud
Хостинг и облачные сервисы
Добрый день. Запустите нужную Вам команду с помощью утилиты screen. https://admins.su/kak-polzovatsya-utilitoj-screen-...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Voland69
Для сервера лучше сделать unit systemd тыц.
Главные плюшки:
  • автозапуск при старте системы
  • можно сделать перезапуск при падении
  • если сервис зависит от другого сервиса, то это можно указать и система их будет запускать в правильном порядке
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы