Por que existem links simbólicos para iniciar 'S' em rc0.d (shutdown) e rc6.d (reboot)?

3

Iniciar links simbólicos 'S' no desligamento e reiniciar os níveis de execução?

Por que existem links simbólicos de início 'S00-S99' em rc0.d e rc6.d? lista do diretório do Ubuntu 13.04 :

$ 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

Como você pode ver, os dois primeiros scripts são scripts 'K' (kill), que é o que esperamos nos runlevels rc0 e rc6, no entanto, os próximos sete scripts são scripts 'start'.

Eu li o script /etc/init.d/rc e entendi que para os runlevels 0 e 6 $ ACTION é codificado para parar assim, até mesmo os scripts 'S' start são passados no comando '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
  ;;

Novamente, minha pergunta é: por que incomodar com os scripts 'S00 - S99' nos níveis de execução de desligamento e reinicialização? Por que eles não são todos links simbólicos 'K00 - K99'?

    
por Saad Malik 27.04.2013 / 01:11

1 resposta

1

Eu estava me perguntando a mesma coisa. Veja minha pergunta em Quais argumentos são passados para os scripts init durante o desligamento .

O motivo é que todos os scripts em rc0.d são chamados pela primeira vez com start e, em seguida, novamente com stop . Dessa forma, você pode solicitar os scripts finais de desligamento independentemente de qualquer outro script de execução a ser executado durante o desligamento.

    
por LiKao 15.08.2014 / 14:27