Z Twojej wzmianki o Upstart przyjmuję, że to pytanie dotyczy usługi uruchamianej na serwerze Ubuntu.
Na serwerze Ubuntu, praca na starcie jest naprawdę najprostszą i najwygodniejszą opcją do tworzenia zawsze włączonej usługi, która uruchamia się we właściwym czasie i może zostać zatrzymana lub przeładowana znanymi komendami.
Aby utworzyć usługę typu "upstart", należy dodać pojedynczy plik do numeru /etc/init
. Nazywa się <service-name>.conf
. Przykładowy scenariusz wygląda następująco:
description "My chat server"
author "[email protected]"
start on runlevel [2345]
stop on runlevel [!2345]
env AN_ENVIRONMENTAL_VARIABLE=i-want-to-set
respawn
exec /srv/applications/chat.py
Oznacza to, że za każdym uruchomieniu maszyny rozpocznie program chat.py
. Jeśli umrze z jakiegokolwiek powodu, uruchomi go ponownie. Nie musisz się martwić podwójnym rozwidleniem lub demonicznym kodowaniem. To jest dla ciebie obsługiwane przez nowicjusz.
Jeśli chcesz zatrzymać lub uruchomić proces można zrobić z
service chat start
service chat stop
Nazwą chat
jest automatycznie znaleźć z nazwą pliku .conf
wewnątrz /etc/init
mam obejmującym tylko Podstawy upstart tutaj. Istnieje wiele innych funkcji, które sprawiają, że jest jeszcze bardziej przydatny. Wszystkie dostępne przez uruchomienie man upstart
.
Ta metoda jest znacznie wygodniejsza niż pisanie własnego kodu demonizacji. Plik konfiguracyjny 4-8 linii dla wbudowanego komponentu Ubuntu jest znacznie mniej podatny na błędy niż bezpieczne tworzenie podwójnego widelca, a następnie monitorowanie go innym procesem, aby upewnić się, że nie zniknie.
Monit jest trochę czerwonego śledzia. Jeśli chcesz otrzymywać powiadomienia o przestojach, musisz mimo to uruchomić program monitorujący na serwerze osobnym. Polegaj na nowościach, aby proces zawsze działał na serwerze. Następnie masz inną usługę, która upewnia się, że serwer działa. Czas przestoju ma wiele przyczyn. Proces uruchomiony na tym samym serwerze nie powie dokładnie, czy serwer sam się zawiesza. Potrzebujesz osobnego komputera (lub dostawcy zewnętrznego, takiego jak pingdom), aby powiadomić Cię o tym stanie.
Czy jest jakieś autentyczne źródło, które obsługuje twoją odpowiedź? Uruchamianie na Ubuntu jest opcją, ale nie jest obowiązkowe (daemonize działa na obu). Po drugie, aby uzyskać powiadomienia o przestojach, musisz użyć opcji monitowania nawet w trybie upstart. – mtariq
Możesz wstać i wysłać e-mailem, gdy się zatrzyma/uruchomi (http://serverfault.com/questions/236925/how-can-i-receive-an-email-when-an-upstart-monitored-script-respawns) . autentyczne źródło? Ludzie używają wszędzie produkcji od produkcji. Używamy upstart w produkcji Nie można używać monitów do alertów o przestoju. To bezcelowe. Zobacz edytowaną odpowiedź z tego powodu. – aychedee
Świetny post. Upstart jest w drzewie Debiana, więc prawdopodobnie można go używać w debianach wanilii lub mennicy, a także innych pochodnych. – meawoppl