Karena Ubuntu bergantung pada pemula untuk beberapa waktu sekarang, saya ingin menggunakan pekerjaan pemula untuk mematikan aplikasi tertentu dengan anggun pada sistem shutdown atau reboot. Penonaktifan atau boot ulang sistem harus dihentikan hingga aplikasi ini dimatikan.
Aplikasi akan dimulai secara manual pada kesempatan, dan pada sistem shutdown secara otomatis harus diakhiri dengan skrip (yang sudah saya miliki). Karena aplikasi tidak dapat diakhiri dengan andal tanpa (hampir semua) layanan lain berjalan, penghentian aplikasi harus dilakukan sebelum penghentian lainnya dimulai.
Saya pikir saya bisa menyelesaikan ini dengan pekerjaan pemula yang akan dipicu saat shutdown, tetapi saya tidak yakin acara mana yang harus saya gunakan dengan cara apa. Sejauh ini, saya telah membaca pernyataan berikut (sebagian bertentangan):
- Tidak ada acara shutdown umum di pemula
- Gunakan bait seperti
start on starting shutdown
dalam definisi pekerjaan - Gunakan bait seperti
start on runlevel [06S]
dalam definisi pekerjaan - Gunakan bait seperti
start on starting runlevel [06S]
dalam definisi pekerjaan - Gunakan bait seperti
start on stopping runlevel [!06S]
dalam definisi pekerjaan
Dari rekomendasi tersebut, muncul pertanyaan berikut:
- Apakah ada atau tidak ada acara shutdown umum di Ubuntu yang baru dimulai?
- Apa cara yang disarankan untuk menerapkan "pengait mematikan"?
- Kapan runlevel peristiwa [x] dipicu; ini pas udah masuk runlevel atau pas masuk runlevel?
- Dapatkah kita menggunakan sesuatu seperti
start on starting runlevel [x]
ataustart on stopping runlevel [x]
? - Apa solusi terbaik untuk masalah saya?
Terima kasih banyak
Jawaban yang Diterima:
starting
dan runlevel
adalah acara terpisah, jadi Anda tidak dapat mengucapkan starting runlevel N
.
runlevel N
event dipancarkan pada saat awal memasuki runlevel. Jika Anda start on runlevel N
maka tugas Anda berjalan saat masuk. Cara menjalankan saat entri ke runlevel selesai adalah run on started rc RUNLEVEL=N
.
Seperti yang saya pahami, Anda memerlukan start on runlevel [06S]
untuk melakukan apa yang Anda inginkan; itu secara teori harus dijalankan sebelum hal lain dihentikan. Untuk kontrol yang lebih baik, Anda dapat menggunakan start on stopping apache or stopping mysql or ...
sehingga tugas Anda berjalan sebelum salah satu dari mereka diizinkan untuk dimatikan.
Diedit untuk mengubah runlevel 5 menjadi S.