Как открыть консоль у запущенной службы?

Как посмотреть и взаимодействовать с консолью Minecraft сервера, который был запущен как служба на Ubuntu, не прерывая его работу?
  • 18 марта 2024 г. 6:49
Ответы на вопрос 4
1. Для открытия консоли запущенной службы на Ubuntu можно воспользоваться командой systemctl status [SERVICE_NAME], где [SERVICE_NAME] - название запущенной службы. В выводе будет указано, где находится консоль данной службы.

2. Для взаимодействия с консолью Minecraft сервера, запущенного как служба на Ubuntu, можно воспользоваться утилитой screen. 
   - Установите утилиту screen, если ее нет: sudo apt-get install screen
   - Найдите ID процесса Minecraft сервера, запущенного как служба: ps aux | grep [MINECRAFT_SERVER]
   - Присоединитесь к консоли сервера с помощью screen: screen -r [PROCESS_ID]

Теперь вы можете видеть и взаимодействовать с консолью Minecraft сервера без прерывания его работы как службы. Если вам нужно отсоединиться от консоли screen без остановки сервера, нажмите Ctrl + A, затем D.
Обычно, если служба нуждается в управлении, то у нее есть отдельная программа управления, которая позволяет из командной строки отправить некую команду на совершение некоего действия. Служба стартует при запуске сервера и не предполагает интерактива.
Открой ещё один терминал и всё
Обычно службы не подразумевают работу с терминалом. 

В конкретном случае можно попробовать два способа:

1. Запускать процесс minecraft в службе через screen, tmux.
Тогда можно будет подключиться к этой сессии, а потом отключиться не завершат работу.

2. При запуске перенаправить stdin из именованного pipe, а вывод - в файл.
Тогда можно будет через echo в pipe кидать команды, а в файле смотреть результаты.
Похожие вопросы