Sebagai lanjutan dari pertanyaan ini , saya telah menulis layanan pemula sederhana ( /etc/init/pms.conf ) untuk kotak Ubuntu Server 11.04 tanpa kepala saya sebagai berikut:
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
Saya dapat memulai (atau menghentikan) layanan ini sesuka hati dari baris perintah:
service pms start
Dan saya dapat melihat bahwa itu memang sedang berjalan.
Namun, ketika saya pertama kali mem-boot mesin saya, layanan tidak dimulai. Jika saya memasukkan SSH ke dalam kotak dan memeriksa status layanan yang saya dapatkan:
$ service pms status
pms stop/waiting
Pertanyaan saya adalah mengapa ini terjadi? Mengapa layanan saya tidak mulai saat boot?
PEMBARUAN 1 : tidak yakin apakah layanan saya sedang dimulai dan kemudian mati atau tidak sama sekali mulai, saya menambahkan yang berikut ke PMS.sh:
echo "STARTED" > $STARTLOG
Ini jelas hanya memberi saya sesuatu untuk dicari. Saya menguji ini dengan memulai layanan sendiri dan kemudian memeriksa start.log . Saya kemudian menghapus start.log dan reboot. Itu tidak ada di sana setelah restart, jadi sepertinya pemula baru tidak memulai layanan saya. Saya kira itu bisa mati pada titik awal dalam proses, tetapi itu agaknya tidak mungkin mengingat kesederhanaan dari semuanya.
UPDATE 2 : Saya baru saja memutakhirkan ke 11,10 yang mencakup peningkatan pemula, tetapi masalah ini masih terjadi.
UPDATE 3 : Seperti yang diminta, saya sudah boot dengan --debug
. Keluaran kucing /var/log/syslog | grep init
terlalu panjang untuk ditempatkan dalam pertanyaan, tetapi Anda melihatnya di sini .
UPDATE 4 : Lebih banyak log, kali ini pemula baru dimasukkan di atas. Jalankan 1 dan jalankan 2 .
cat /var/log/syslog | grep init
setelah mengaktifkan boot loggging untuk pemula menggunakan instruksi di Upstart Debugging