Saya telah menambahkan skrip baru untuk /etc/init/
dipanggil minecraft.conf
yang berisi skrip:
start on startup
stop on shutdown
respawn
respawn limit 20 5
script
export HOME="/root"
exec /root/minecraft/start.sh 2>&1 >> /var/log/minecraft.log
end script
post-start script
echo "minecraft started"
Ketika saya mencoba, start minecraft
saya mendapatkan kesalahan:start: Unknown job: minecraft
Saya sudah mencoba menjalankan initctl list
dan pekerjaan minecraft saya tidak terdaftar. Saya sudah mencoba berlari initctl reload-configuration
dan tidak ada bedanya.
Pekerjaan lain didaftar oleh initctl list
work fine dengan start, stop dan restart.
Mengapa tidak akan mulai melihat skrip baru saya?
/etc/init.d/
?/etc/init
dan sekarang Anda siap untuk reboot dan gunakan pemula."sudo start minecraft
tanpa masalah. Ini konten file log.~$ sudo cat /var/log/upstart/minecraft.log minecraft started /proc/self/fd/9: 3: exec: /root/minecraft/start.sh: not found minecraft started
Bisakah Anda memberikan detail lebih lanjut tentang versi Ubuntu yang Anda gunakan dan informasi bermanfaat apa pun dari syslog?Jawaban:
Periksa log pemula (ada di
/var/log/syslog
) saat memuat ulang konfigurasi menggunakaninitctl reload-configuration
. Jika ada kesalahan sintaks, itu akan muncul di sana. Itulah biasanya mengapa Anda tidak dapat menggunakan konfigurasi pemula baru Anda.sumber
Cara mudah untuk memeriksa sintaks skrip Anda adalah dengan perintah berikut:
Saya telah menemukan bahwa bahkan dengan file Upstart yang valid jika file tersebut tidak ada ketika server di-boot terakhir saya harus me-reboot server agar Upstart untuk melihat file.
sumber
Saya merasa agak bodoh ... Tapi ini dia:
Saya melewatkan bait "naskah akhir" dari bagian paling akhir naskah pemula ...
seharusnya
Saya tidak yakin mengapa itu bekerja untuk @schkovich tanpa
end script
, meskipun ...sumber
Dalam kasus saya ini adalah
author
bidang kosong , seperti ini:Itu bekerja hanya setelah menambahkan sesuatu di kutipan.
juga membuang
/etc/init/servicename.conf:2: Expected token
ke syslog bukannya stdout . Terlalu sibuk untuk mengajukan laporan bug untuk paket yang sekarat.sumber
Mungkin tidak berlaku untuk ini secara khusus, tetapi layak disebutkan: Jika Anda mengedit file konfigurasi pemula untuk layanan yang sedang berjalan, menjalankan
restart
TIDAK memuat ulang konfigurasi. Anda harus menjalankanstop
danstart
agar perubahan baru berlaku.http://upstart.ubuntu.com/cookbook/#restart
sumber