Saya ingin menjalankan satu skrip sysvinit sebelum yang lain dan menemukan cara untuk melakukannya.
Untuk memastikan, ini benar-benar terjadi dalam urutan yang saya suka, saya ingin melihat daftar, di mana urutan itu terjadi.
Saya sudo insserv --showall
sudah menemukan , tetapi tidak dapat membuat kepala atau ekor dari itu, karena itu daftar skrip init beberapa kali.
Bagaimana cara mengetahui skrip urutan /etc/init.d dimuat di Debian?
Jawaban:
Ada beberapa file di direktori /etc/init.d/:
Setiap kali Anda menjalankan
update-rc.d
file akan berubah..depend.boot
File untukS
level,.depend.start
untuk2 3 4 5
level dan.depend.stop
untuk0 1 6
.Dalam kasus saya, saya memiliki urutan sebagai berikut
.depend.start
:Anda juga dapat melihat mengapa pesanan ditampilkan seperti yang Anda lihat di atas. Setiap baris berikutnya terlihat seperti ini:
yang berarti bahwa
cgrulesengd
kebutuhanrsyslog
cgconfig
akan dimulai sebelumnya.sumber
Untuk setiap runlevel (0 6) ada folder /etc/rc[N[.d
Di setiap direktori ada tautan simbolik yang dimulai dengan "S" atau dengan "K". "S" untuk memulai e "K" untuk berhenti. Script dieksekusi dengan cara semacam leksikal dari nama file , dengan kata lain S10script akan dieksekusi lebih dulu dari S20myscript. Sebagai contoh :
kami memiliki dua skrip sederhana, skrip second.sh harus dijalankan setelah skrip fist.sh di runlevel saat ini.
Apa level saya saat ini?
Sekarang kita memerlukan tautan simbolis mulai yaitu S (N) myScript untuk yang pertama dan S (N + 1) mysecondScript:
Kami dapat reboot dan memeriksa log pesan:
Diuji pada Centos5 lama
sumber