Je veux exécuter un script sysvinit avant un autre et j'ai compris comment le faire.
Pour être sûr que cela se produit réellement dans l'ordre que j'aime, je voudrais voir une liste, dans quel ordre cela se produit.
J'ai sudo insserv --showall
déjà trouvé , mais je ne peux pas en faire la tête ou la queue, car il répertorie les scripts d'init plusieurs fois.
Comment savoir dans quel ordre /etc/init.d les scripts sont chargés sur Debian?
Réponses:
Il y a quelques fichiers dans le répertoire /etc/init.d/:
Chaque fois que vous exécutez
update-rc.d
les fichiers changeront..depend.boot
le fichier est pour leS
niveau,.depend.start
est pour les2 3 4 5
niveaux et.depend.stop
pour0 1 6
.Dans mon cas, j'ai l'ordre suivant
.depend.start
:Vous pouvez également voir pourquoi la commande se présente comme vous le voyez ci-dessus. Chaque ligne suivante ressemble à ceci:
ce qui signifie que cela
cgrulesengd
doitrsyslog
cgconfig
être commencé avant.la source
Pour chaque niveau d'exécution (0 6), il existe un dossier /etc/rc[N diplomatique.d
Dans chaque répertoire, il y a un lien symbolique qui commence par un "S" ou par un "K". "S" pour démarrer e "K" pour arrêter. Les scripts sont exécutés d'une manière lexicale du nom de fichier , en d'autres termes S10script sera exécuté en premier lieu que S20myscript. Par exemple :
nous avons deux scripts simples, le script second.sh doit être exécuté après le script fist.sh dans le niveau d'exécution actuel.
Quel est mon niveau actuel?
Nous avons maintenant besoin d'un lien symbolique commençant à savoir S (N) myScript pour le premier et S (N + 1) mysecondScript:
Nous pouvons redémarrer et consulter le journal des messages:
Testé sur l'ancien Centos5
la source