In seguito a questa domanda , ho scritto un semplice servizio di avvio ( /etc/init/pms.conf ) per la mia casella senza testa di Ubuntu Server 11.04 come segue:
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
Posso avviare (o interrompere) questo servizio a piacere dalla riga di comando:
service pms start
E vedo che sta davvero funzionando.
Tuttavia, al primo avvio del computer, il servizio non si avvia. Se SSH nella casella e controllo lo stato del servizio ottengo:
$ service pms status
pms stop/waiting
La mia domanda è: perché sta succedendo questo? Perché il mio servizio non si avvia all'avvio?
AGGIORNAMENTO 1 : non sono sicuro che il mio servizio sia stato avviato e successivamente morendo o semplicemente non sia stato avviato affatto, ho aggiunto quanto segue a PMS.sh:
echo "STARTED" > $STARTLOG
Questo ovviamente mi dà solo qualcosa da cercare. Ho provato questo avviando il servizio da solo e quindi controllando start.log . Ho quindi eliminato start.log e riavviato. Non era lì dopo il riavvio, quindi sembra che l'avvio non stia iniziando il mio servizio. Suppongo che potrebbe morire in un momento precedente del processo, ma sembra piuttosto improbabile data la semplicità di tutto.
AGGIORNAMENTO 2 : Ho appena eseguito l'aggiornamento alla versione 11.10 che include un aggiornamento iniziale, ma questo problema si verifica ancora.
AGGIORNAMENTO 3 : Come richiesto, ho avviato con --debug
. L'output di cat /var/log/syslog | grep init
è troppo lungo per essere inserito nella domanda, ma lo vedi qui .
AGGIORNAMENTO 4 : più registri, questa volta la configurazione di avvio è inclusa nella parte superiore. Esegui 1 ed esegui 2 .
cat /var/log/syslog | grep init
dopo aver abilitato il log di avvio per upstart usando le istruzioni di Upstart Debugging