Можно ли предотвратить зависание Mono при закрытии SSH-соединения?

Можно ли предотвратить зависание Mono при закрытии SSH-соединения?

У меня есть headless-сервер Linux, к которому я подключаюсь через SSH. Недавно я начал использовать его, в дополнение к его обычным задачам, для хостинга [игрового сервера][1], написанного на C# с помощью Mono. Он работает превосходно! Однако, если я отключаюсь от своего сеанса SSH, он зависает, и игровые клиенты отключаются.

Для запуска игрового сервера я запускаю команду mono KMPServer.exe. После этого запускается серверное программное обеспечение и отображает информацию о конфигурации — однако игровой сервер не запустится, пока я не введу /start.

Я не могу использовать nohupиз-за этого - процесс запуска сервера включает в себя сначала запуск его с помощью mono, а затем взаимодействие с ним с помощью него, чтобы выдать /startкоманду " ". Интересно, что я также не могу перевести процесс в фоновый режим (это нормально для Mono?).

Есть ли способ запустить его так, чтобы игровой сервер не закрывался при отключении сеанса SSH?

Краткое содержание:

  • Программное обеспечение сервера (неработающая ссылка удалена) представляет собой сторонний многопользовательский сервер (часть мода) дляКосмическая программа Кербала.
  • Linux-сервер работает под управлением Arch Linux x86_64.
  • Установленная версия Mono — 3.2.3.

решение1

Похоже, вы должны уметь использовать сеанс screen. Если вы не знакомы с инструментом screen, ознакомьтесь с man-страницами или посетитеПримеры экранных команд: получение управления терминалом Linux/Unix.

Сначала установите его с помощью pacman -S screen. Затем начните новый сеанс с помощью screen mono KMPServer.exe, выполните все необходимые действия и отсоедините сеанс с помощью ++ Ctrl. Если вам нужно снова присоединить сеанс, используйте .ADscreen -x

Связанный контент