Saya memiliki pertanyaan yang sama, dan saya juga menemukan jawaban yang berbeda . Penulis mencantumkan 4 opsi untuk mencapai ini, yang paling saya sukai adalah yang pertama:
Gunakan initclt emit myservice-starteduntuk memberi sinyal penyelesaian startup layanan dependen Anda. Dalam jawaban yang ditautkan, disarankan untuk menambahkan baris ini ke akhir init.dskrip layanan dependensi , tapi saya lebih suka metode yang berbeda. Saya suka membuat inid.dskrip baru bernama myservice-startedyang hanya berisi startbagian. Menggunakan gaya komentar yang sesuai di header file, saya menyatakan bahwa itu tergantung pada $myserviceuntuk memulai. Di startbagian ini, saya memberi tahu pemula tentang myservicememulai. Anda dapat menginstalnya dengan update-rc.d.
Saya suka solusi ini karena tidak mengganggu; jika pembaruan mengubah salah satu init.dskrip yang ada , itu tidak akan mempengaruhi skrip tambahan ini. Tapi ingat bahwa perubahan script kaya baru Anda yang diperlukan.
Mungkin terlihat seperti ini:
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: myservice-started
# Required-Start: $myservice
# Default-Start: 2 3 4 5
# Short-Description: send upstart signal after starting myservice
# Description: myservice needs to run before some upstart services can run
### END INIT INFO
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Signaling myservice started..." "myservice-started"
initctl emit myservice-started --no-wait
;;
*)
log_action_msg "Usage: /etc/init.d/myservice-started start"
exit 1
;;
esac
exit 0
Skrip pemula Anda yang menunggu layanan saya dapat mendengarkan myservice-startedacara:
start on myservice-started