У меня есть HTTP-сервис (назовем его Foo) с активацией сокета systemd. Я хотел бы поддержать эту настройку:
На шаге 3, когда служба мониторинга попадает в состояние готовности, активация сокета systemd перезапускает службу HTTP!
Я все еще хотел бы, чтобы systemd управляла сокетом (чтобы моя служба не запускалась / запускалась как root). Я бы также хотел, чтобы systemd перезапустил мою службу в случае сбоя (код выхода отличный от 0).
Возможно ли что-то из этого?
Большая картина такова, что услуга заменяется. После выключения (облачный) сервер будет удален.
Для всех, кто застрял в этом, то, что я в итоге сделал, - это отключил HTTP-прослушиватель, но сохранил процесс. В псевдокоде служба Foo:
close(httpSocket)
print("Stopped")
sleep(forever)
Это означает, что служба мониторинга GET /are-you-up
будет знать, что служба выполнена, systemd не перезапускает ее, и я все равно получаю все остальные достоинства systemd. На практике он хорошо работает уже несколько месяцев.
Если есть более чистый вариант, добавьте свой ответ. Спасибо!