Kategorie szkoleń | Egzaminy | Kontakt
  • 0
  • 10
  • 67

Scenariusz:

  • otrzymujemy binarną aplikację napisaną w jakimś języku (C/Java).
  • aplikacja po uruchomieniu działa. Po wyłączeniu przestaje działać. ;)
  • aplikacja nie przechodzi sama w tło, nie tworzy również pliku pid, nie potrafi sama zadbać o to, by nie uruchomiło się więcej niż 1 instancja.

W jaki sposób sobie z takimi aplikacjami radzicie?

Do tej pory spotkałem się z różnymi podejściami:

  • przepisywanie aplikacji/modułowanie jej tak, by tworzyła pidfile, locka zapobiegającego ponownemu uruchomieniu i sama przechodziła w tło(co jest mozolne i nie zawsze wykonywalne)
  • obudowywanie w/w feature'ów w skrypt startowy, pobierający pid przez $!, sprawdzający, czy to jedyna instancja, uruchamianie samej aplikacji przez nohup/przekierowanie wejść/wyjść i & w tło.
  • użycie "gotowców" (np.start-stop-daemon)
  • użycie monita
  • uruchamianie aplikacji pod screenem, gdzie screen dba o to, by się nie zduplikowały sesje

A może znacie jeszcze jakieś inne podejścia/rozwiązania?

Pomijam kwestię paczkowania, wirtualizacji itp.

Andrzej_Dopierała
  • Zapytał
  • @ Andrzej_Dopierała | 22.09.2014
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169