Задать вопрос
kotcich
@kotcich
Я скучный.

Можно ли как то добиться включения/стопа/рестарта golang сервера через консоль?

Юзаю Gin. При go run main.go сервер запускается, но выключить его теперь можно только через Ctr+c. Плюс, когда он включен, по сути терминал заблочен. Ну то есть я кнч могу открыть второй, но я вообще к такому не привык.
Это вообще нормально? Это не как не скажется при размещении проекта?
Тот же пример выключения сервера в доке Gin.
Но это очень нагромождено, да и работает только через код.
  • Вопрос задан
  • 238 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 2
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Не совсем понятен вопрос. А чем вам собственно не нравится Ctr+c Shutdown из доки? Если вы хотите, что бы сервер не блокировал консоль просто так его и запустите
$ myserver &
при таком применении вы можете
  • для тушения отвести отдельный endpoint в rest api. То есть поставить тушащий Handler на domain.com/admin/shutdown
  • или предусмотреть вызов с флагом myserver --quit который будет связываться с уже запущенным инстансом через net/rpc или unix pipe или unix socket или тот же http и вызывать процедуру тушения
  • или прописать юниты systemd обычным порядком
Ответ написан
@quiex
Смотрите в сторону supervisord, systemd, docker
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Drno
А он разве не умеет работать как сервис?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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