Démarrer les liens symboliques 'S' à l'arrêt et redémarrer les niveaux d'exécution?
Pourquoi y a-t-il des liens symboliques de démarrage 'S00-S99' dans rc0.d et rc6.d? Ubuntu 13.04 listing:
$ ls -l /etc/init.d/rc6.d
lrwxrwxrwx 1 root root 29 Oct 30 12:05 K10unattended-upgrades -> ../init.d/unattended-upgrades
lrwxrwxrwx 1 root root 20 Apr 4 15:07 K21postgresql -> ../init.d/postgresql
-rw-r--r-- 1 root root 351 Jan 30 04:58 README
lrwxrwxrwx 1 root root 18 Mar 6 2011 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root 17 Mar 6 2011 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root 22 Mar 6 2011 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root 20 Oct 7 2012 S35networking -> ../init.d/networking
lrwxrwxrwx 1 root root 18 Mar 6 2011 S40umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root 20 Mar 6 2011 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root 16 Mar 6 2011 S90reboot -> ../init.d/reboot
Comme vous pouvez le constater, les deux premiers scripts sont des scripts 'K' (kill), ce à quoi nous nous attendions dans les niveaux d'exécution rc0 et rc6. Cependant, les sept prochains scripts sont des scripts 'de démarrage'.
J'ai lu le script /etc/init.d/rc et je l'ai compris pour les niveaux d'exécution 0 et 6 $ ACTION est codé en dur pour stop donc, même les scripts de démarrage 'S' reçoivent la commande 'stop':
case "$runlevel" in
0|6)
ACTION=stop
# Count down from 0 to -100 and use the entire bar
first_step=0
progress_size=100
step_change=-1
;;
Encore une fois, ma question est la suivante: pourquoi même s’embêter avec les scripts "S00 - S99" dans les niveaux d’arrêt et de redémarrage? Pourquoi ne sont-ils pas tous des liens symboliques 'K00 - K99'?
Je me demandais la même chose. Voir ma question à Quels arguments sont passés aux scripts d'initialisation lors de l'arrêt .
La raison en est que tous les scripts de rc0.d
sont d'abord appelés avec start
, puis de nouveau avec stop
. De cette façon, vous pouvez ordonner l'exécution des scripts d'arrêt définitifs indépendamment de tout autre script d'arrêt à exécuter pendant l'arrêt.