Как закрыть терминал с AWS EC2 без выключения сервера

У меня есть instance aws ec2 на платформе Amazon Linux. Работаю через PuTTY. Есть проблема, при закрытие терминала, выключается севрер(програмы перестают работать), на виндовс сервере такого не было.

Возможно стоит сменить SSH клиент? Или есть какие-то другие способы для закрытия терменала без выключения самого сервера?


Ответы (2 шт):

Автор решения: thomas_mt

Нашел ответ. Для этого нужно использовать screen или tmux(мой вариант)

→ Ссылка
Автор решения: AivanF.

Для того, чтобы серверное ПО работало независимо от терминала, запускать его должен процесс-демон, который инициализируются вместе с запуском Линукса и живёт независимо от создания/завершения SSH-сессий. Вариантов для этого много:

  1. Самый правильный способ – использовать менеджер служб, например стандартный Линуксовый SystemD. Примеров настройки своих служб через него много, вот например на Хабре: Systemd за пять минут. Менеджеры служб хороши тем, что имеют массу настроек (перезапуски, количество рабочих процессов и т.д), предоставляют удобный интерфейс запуска/остановки службы, отображают логи, и в принципе являются переиспользуемым решением.

  2. Есть и более простые варианты. Например можно запускать через команду nohup, тоже стандартная утилита Линукс. Либо да, tmux, который позволяет создавать сессии терминала независимые от SSH. Минусы этих решений:

  • Не очень переиспользуемо
  • Процесс сложно убивать/пересоздавать вручную – для этого ещё надо найти айдишник нужного процесса.
  • При возникновении ошибки и падении службы автоматического перезапуска не произойдёт.
  • При перезапуске хоста служба не запустится автоматически. А менеджеры служб вроде SystemD это делают по умолчанию ;)
→ Ссылка