Aplikacja działająca jako service

Aplikacja działająca jako service
BartoSAS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
0

Witam,
chciałbym, aby aplikacja działała na serwerze cały czas w tle i w razie jak się położy, to żeby serwer sam sobie poradził (a przynajmniej spróbował) uruchomić ją ponownie.
Myślałem, żeby zrobić ją jako usługę, tylko nie mam pojęcia jak się do tego zabrać.
Aplikacja jest w C++ (jeżeli to istotne), serwer to Ubuntu 18 LTS

YO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 540
0

Może jakiś CRON co sprawdza odpowiedź aplikacji.
Aplikacja w ustalonym interwale wysyła:

mess="działam"
mess="działam"

jeśli nie otrzymamy odpowiedzi w wymaganym czasie + czas zwłoki serwera:

run application

mad_penguin
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
2

Zrób usługę systemd.

KE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 761
1

Poczytaj jak dodać własny program jako usługę w systemd, będziesz miał monitorowanie czy apka żyje i automatyczne próby restartu jak padnie. Np. https://medium.com/@benmorel/creating-a-linux-service-with-systemd-611b5c8b91d6

rrowniak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 82
0

Wydaje mi się, że najlepszym rozwiązaniem obecnie byłby systemd. Ma on możliwość konfiguracji aby usługa została uruchomiona ponownie w przypadku gdy Twoja aplikacja wyłoży się.
Inną sprawą jest sytuacja kiedy Twoja aplikacja będzie istnieć (jako proces) ale się z jakichś powodów zawiesi. Wtedy chyba najlepiej zainteresować się tzw. watchdog'iem. Chociaż o ile dobrze pamiętam to systemd ma wsparcie do tego typu monitoringu.

BartoSAS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
0

Apka w najgorszym wypadku wykłada się na naruszeniu ochrony pamięci. Jak tylko się zapoznam dam znać co z tego wyszło.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.