Menggunakan exec
untuk memulai proses itu baik-baik saja, tetapi ketika menghentikannya, jika Anda benar-benar perlu menjalankan skrip atau serangkaian perintah tertentu, Anda dapat menggunakan pre-stop
bait.
pre-stop exec shutdown.sh
Saya berasumsi Anda telah mencoba menggunakan bait eksekutif dan itu tidak berhasil, mungkin karena dasmon Anda memerlukan pembersihan khusus. Perhatikan bahwa daemon berperilaku baik harus menerima sinyal dari pemula ketika pekerjaan dihentikan, dan jika mereka menangani sinyal dengan tepat, tidak diperlukan pembersihan tambahan.
Menghentikan pekerjaan melibatkan pengiriman SIGTERM ke sana. Jika ada sesuatu yang perlu dilakukan sebelum SIGTERM, lakukan di sini. Bisa dibilang, layanan harus menangani SIGTERM dengan sangat anggun, jadi ini seharusnya tidak perlu.
jika ada sesuatu yang kritis, seperti flush ke disk, dan menaikkan waktu habis kill bukanlah suatu pilihan, pre-stop bukanlah tempat yang buruk untuk melakukannya
Baca juga bagian ini untuk seluruh alur kerja tentang apa yang terjadi ketika Anda menghentikan pekerjaan. Perhatikan kapan pre-stop dijalankan, dan bagaimana sinyal dikirim ke proses sesudahnya, yang merupakan cara pemula menangani pekerjaan berhenti secara normal.
Sumber saya adalah buku resep pemula resmi di: http://upstart.ubuntu.com/cookbook/