Por que o 'encerramento' (sem outros argumentos) não executa scripts de inicialização?

2
Estou executando o Rasbpian no meu Pi e tenho um script em /etc/rc0.d (ou, mais precisamente, um link simbólico para /etc/init.d/myscript.sh ) que faz alguma saída do GPIO para notificar o usuário de que a energia pode ser desligada. / p>

Se eu executar sudo shutdown -h now , o script é executado e o sistema fica inativo.
Se eu executar sudo shutdown now , o script não é executado, mas o sistema fica inativo.

Não consigo encontrar nenhuma documentação que declara o que realmente deve acontecer ao executar shutdown now sem nenhum outro argumento.

Que diferença faz o -h neste caso? A execução de shutdown now realmente não invoca runlevel 0 ?

Atualização: encontrei este documento (unixhelp.ed.ac.uk) , dizendo que o comportamento padrão sem argumentos é ir para runlevel 1 . Mas também tenho um script em /etc/rc1.d , que não é executado em shutdown .

Conforme solicitado, aqui estão as primeiras linhas de last -x (as setas são minhas):

pi       pts/3        vidar-ramdals-ma Fri Jan  9 18:07   still logged in   
runlevel (to lvl 2)   3.12.28+         Fri Jan  9 18:04 - 18:07  (00:02)    
reboot   system boot  3.12.28+         Fri Jan  9 18:04 - 18:07  (00:02)    
shutdown system down  3.12.28+         Fri Jan  9 18:04 - 18:04  (00:00)    
runlevel (to lvl 0)   3.12.28+         Fri Jan  9 18:04 - 18:04  (00:00) <- shutdown -h now   
pi       pts/3        vidar-ramdals-ma Fri Jan  9 18:02 - down   (00:01)    
runlevel (to lvl 2)   3.12.28+         Fri Jan  9 18:01 - 18:04  (00:02)    
reboot   system boot  3.12.28+         Fri Jan  9 18:01 - 18:04  (00:02)    
pi       pts/3        vidar-ramdals-ma Fri Jan  9 17:57 - crash  (00:04) <- shutdown now   
pi       pts/3        vidar-ramdals-ma Fri Jan  9 01:30 - 01:34  (00:03)    
pi       pts/3        vidar-ramdals-ma Fri Jan  9 01:29 - 01:29  (00:00)    
runlevel (to lvl 2)   3.12.28+         Fri Jan  9 01:23 - 18:01  (16:38)    
reboot   system boot  3.12.28+         Fri Jan  9 01:23 - 18:04  (16:41)   

A linha runlevel (to lvl 0) aparece depois que eu fiz shutdown -h now , enquanto a linha crash é de shutdown now . O shutdown now causa uma "falha" que o impede de executar scripts de inicialização?

    
por Vidar S. Ramdal 09.01.2015 / 09:59

1 resposta

1

O nome do arquivo nas pastas rc.d é importante e não está claro o nome do seu link simbólico para o seu /etc/init.d/myscript.sh .

Exemplos de /etc/rc1.d :

  lrwxrwxrwx 1 root root 25 Nov  3  2011 K99readahead_early -> ../init.d/readahead_early
  lrwxrwxrwx 1 root root 25 Nov  3  2011 K99readahead_later -> ../init.d/readahead_later
  lrwxrwxrwx 1 root root 22 Nov  3  2011 S02lvm2-monitor -> ../init.d/lvm2-monitor
  lrwxrwxrwx 1 root root 18 Nov  3  2011 S13cpuspeed -> ../init.d/cpuspeed

Se S for fornecido, ele executará o script com start ; se K for fornecido, ele executará o script com stop . O valor inteiro é então a prioridade que deve ser executada.

    
por 09.01.2015 / 13:02