sslion
@sslion

Рестарт сервиса?

Совсем недавно начал изучать C# и .NET , ну и естественно делаю свой "велосипед".
Делаю REST API, добавлю функционал по мере необходимости, и теперь появилась вполне законная необходимость перезапустить сервис. В приложении .NET есть такая возможность, или нужно использовать внешние приложения?

P.S. Сервис подразумевается кросс-платформенный, и будет работать в основном на никсах.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 2
@Everything_is_bad
будет работать в основном на никсах.
проще внешние стандартные средства, для линуксов, systemd
Ответ написан
Комментировать
vabka
@vabka Куратор тега C#
Токсичный шарпист
Кто-то же должен потом запустить сервис.
Как мне кажется, проще будет реально через systemd или любую другую внешнюю систему это реализовать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Дополню: можно запустить это все в докере с установкой флага рестарта unless-stopped. Тогда нужный контейнер:
1. Будет запускаться во время старта системы
2. Если вручную остановишь (контейнер), то запускаться после старта системы не будет
3. При завершении с ошибкой контейнер будет перезапущен

systemd - нормальный вариант для ЛИНУКСОВ (некоторые дистрибутивы его не имеют - их меньшинство поэтому можно не заморачиваться), но не для *nix - например, для mac будет launchd, для bsd - init. Это разные реализации и не совместимы с systemd. (Про винду молчу).
Поэтому если хочется более-менее кросс-платформы, то стоит:
1. Заранее создать нужные скрипты для создания конфигов systemd/launchd/bsd/windows service
2. Установить docker и запускать через него

P.S. конечно тащить за собой целый докер для одной программы это моветон, но живут же как-то джаваскриптисты со своими node_modules
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы