Ausgehend von dieser Frage habe ich einen einfachen Upstart-Dienst ( /etc/init/pms.conf ) für meine Ubuntu Server 11.04-Box ohne Kopf wie folgt geschrieben:
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
Ich kann diesen Dienst nach Belieben über die Befehlszeile starten (oder stoppen):
service pms start
Und ich kann sehen, dass es tatsächlich läuft.
Wenn ich meinen Computer zum ersten Mal starte, wird der Dienst jedoch nicht gestartet. Wenn ich in die Box SSH und überprüfen Sie den Service-Status bekomme ich:
$ service pms status
pms stop/waiting
Meine Frage ist, warum das passiert? Warum startet mein Dienst nicht beim Booten?
UPDATE 1 : Unsicher, ob mein Dienst gestartet wurde und anschließend abstirbt oder überhaupt nicht gestartet wurde, habe ich PMS.sh wie folgt hinzugefügt:
echo "STARTED" > $STARTLOG
Das gibt mir offensichtlich nur etwas zu suchen. Ich habe dies getestet, indem ich den Dienst selbst gestartet und dann start.log überprüft habe . Ich habe dann das start.log gelöscht und neu gestartet. Es war nach dem Neustart nicht da, also scheint es, als würde durch den Neustart definitiv nicht mein Dienst gestartet. Ich nehme an, es könnte zu einem früheren Zeitpunkt in dem Prozess sterben, aber das scheint angesichts der Einfachheit des Ganzen eher unwahrscheinlich.
UPDATE 2 : Ich habe gerade ein Upgrade auf 11.10 durchgeführt, das ein Upstart-Upgrade beinhaltet, aber dieses Problem tritt immer noch auf.
UPDATE 3 : Wie gewünscht habe ich mit gebootet --debug
. Die Ausgabe von cat /var/log/syslog | grep init
ist zu lang, um sie in die Frage zu stellen, aber Sie sehen sie hier .
UPDATE 4 : Weitere Protokolle, diesmal ist die Upstart-Konfig ganz oben enthalten. Führen Sie 1 und 2 aus .
cat /var/log/syslog | grep init
nachdem Sie die Boot-Protokollierung für den Upstart aktiviert haben. Befolgen Sie dazu die Anweisungen unter Upstart Debugging