Как я взаимодействую со сценарием, запущенным rc.local?

У меня есть сценарий, который работает от rc.local (сервер Minecraft в этом случае), с которым я должен смочь взаимодействовать (соединяются с его STDIN и STDOUT позже). Как я могу сделать это?

6
задан 12 January 2017 в 17:59

1 ответ

То, что Вы хотите сделать, использовать screen. Это позволяет порождать процесс в своей сессии и отсоединяться от него. По существу Ваш вопрос подобен это .

3 шага, которые Вы хотите сделать:

  • строка ниже должна войти в Ваш /etc/rc.local. Добавьте & знак в конце его (важный!)

    screen -S MyMinecraftServer -d -m  java -jar ./SOMEFILES/CLEANUP/minecraft_server.1.8.8.jar nogui   
    
  • Это - то, что Вы сделали бы от командной строки для нахождения сессии:

    screen -ls
    

    Пример произвел:

    There is a screen on:
        1720.MyMinecraftServer  (2017年01月12日 13时54分36秒) (Detached)
    1 Socket in /var/run/screen/S-xieerqi.
    
  • И это - то, как Вы присоединяете к нему:

    screen -x 1720.MyMinecraftServer
    

ПРИМЕЧАНИЕ : стартовый сервер Minecraft от /etc/rc.local может быть потенциальной дырой в системе безопасности. Рассмотрите использование su username -c '<screen command here>' & для выполнения сервера как другого пользователя. См. также: https://serverfault.com/a/422952/363611

7
ответ дан 23 November 2019 в 07:42

Другие вопросы по тегам:

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