Короткий ответ: никак. У служб (daemon) нет открытых дескрипторов stdin, stdout, stderr так как они отсоединяются от терминала после запуска. При этом они могут писать логи в файлы и читать что-то из других файлов. При надобности к службам идут программы-клиенты, посылающие сообщения службам.
Длинный ответ для конкретной ситуации: если нужно писать в консоль сервера Minecraft, то его либо не нужно отсоединять (ставить в фон), либо после отсоединения нужно обратно подсоединить.
Ctrl-Z (SIGSTP) - поставить в фон и остановить.
$ jobs
— выводит список задач в фоне
$ bg %[номер]
$ bg [идентификатор процесса]
— продолжить задачу в фоне
* при этом если терминал закрыть — он вполне может послать SIGHUP (Hang up), что остановит процесс. Отключение сигнала - отдельная тема, но где-то читал. Пока и так сойдёт.
$ fg [идентификатор процесса]
— вернёт задачу из фона
В случае с
$ ./run_my_minecraft_server
...
Ctrl-Z
$ bg %1 # первый процесс в списке
$ # терминал свободен
$ fg
# здесь (в теории) снова должна быть консоль сервера
...
— не знаю насчёт закрытия stdin/stdout, но в простом случае должно сработать.
А вообще — для сервера и других дел используйте разные терминалы (даже без окружения их больше одного): Ctrl+Alt+F# (открыть tty#), а службы не предназначены для стандартного ввода.
background process to foreground:
https://thelinuxcode.com/bring-a-background-linux-...
send process to background:
https://serverfault.com/questions/41959/how-to-sen...
daemon to foreground:
https://serverfault.com/questions/41009/how-do-i-b...
Примеры использования bg и jobs:
https://linuxopsys.com/topics/bg-command-in-linux
tty1-6 (не совсем сюда относится, просто сам недавно узнал):
https://losst.pro/pereklyuchenie-mezhdu-konsolyami...
Что-то на умном:
Запуск с защитой от SIGHUP:
nohup
Разделенич терминала между процессами:
screen