Mam plik conf Upstart w / etc / init, który zaczyna się dobrze, jeśli uruchomię go ręcznie w następujący sposób:
sudo initctl start myconf
Jeśli uruchomię go bez polecenia sudo, pojawi się błąd error name = (nieustawiony), który wynika z uprawnień użytkownika, ale nie powinno to stanowić problemu, gdy zadanie jest inicjowane podczas rozruchu systemu, gdy uruchamia się Upstart, prawda? (ponieważ to wszystko jest uruchamiane przez root).
Treść skryptu to:
start on runlevel [2345]
stop on runlevel [^2345]
exec /spatial/server_init.sh
... gdzie server_init.sh uruchamia serwer oparty na skrypcie Python. Kiedy sprawdzam status skryptu zaraz po zalogowaniu się do powłoki, mówi stop / czekam. Próbowałem też pliku conf z „start on net-device-up”, ale nic się nie zmienia. Czy istnieje sposób, aby wyświetlić dziennik systemu Upstart lub coś podobnego, co może pomóc mi w debugowaniu problemu.
Dzięki
chdir
w skrypcie upstart i tenstart: Job failed to start
Odpowiedzi:
Próbować:
Podczas debugowania warto rozważyć przekształcenie go w zadanie.
następnie z konsoli:
źródło
Ok, znalazłem jeden sposób, ale działa tylko wtedy, gdy wystąpi błąd w programie wykonywanym przez skrypt (i jeśli ten program oczywiście zwraca komunikaty o błędach), nie sam Upstart, ale tego właśnie potrzebowałem w tym przypadku. To, co zrobiłem, to przekierowanie wyniku programu do pliku dziennika takiego jak ten:
Jeśli chodzi o inne, odkryłem, że możesz zwiększyć gadatliwość Upstart, więc jeśli będę tego potrzebować, zacznę od tego.
źródło
Sprawdź swoją wersję upstart poprzez: initctl version lub apt-cache policy upstart
Dla wszystkich wersji Upstart wcześniejszych niż 1.4 domyślną wartością konsoli była konsola brak . Od wersji Upstart 1.4 wartością domyślną jest dziennik konsoli .
Przykład:
dziennik konsoli
scenariusz
koniec skryptu
Dziennik konsoli - Łączy standardowe wejście z / dev / null. Standardowe wyjście i standardowy błąd są podłączone do jednego końca pseudo-terminala, tak że każde wyjście zadania jest automatycznie logowane do pliku w katalogu / var / log / upstart / dla zadań systemowych i $ XDG_CACHE_HOME / upstart / (lub $ HOME /). cache / upstart / if $ XDG_CACHE_HOME nie jest ustawiony) dla zadań sesji.
Brak konsoli - łączy standardowe wejście, standardowe wyjście i standardowe deskryptory plików błędów zadania z / dev / null.
Aby uzyskać więcej informacji o konsoli, kliknij poniższy link:
http://upstart.ubuntu.com/cookbook/#console-log
źródło