Por que meu servidor não está desligado corretamente?

1

Quando eu executo $ reboot no meu FreeNAS 0.7 incorporado (FreeBSD 7.2) ele inicia o procedimento de desligamento mas aparentemente trava.

Eu registrei um comando para iniciar um script de serviço que é executado no PostInit:

/myscripts/startService1.sh

Tem obras sem falhas até agora.

Agora eu registrei um segundo serviço

 /myscripts/startService2.sh

e teve que perceber que o script PostInit parece estar bloqueado pelo primeiro serviço (porque é executado infinitamente) e aparentemente não permite que o PostInit retome sua próxima tarefa. Consequentemente, o serviço 2 nunca é iniciado.

Para permitir que o script continue, acrescentei o & aos comandos a serem executados.

/myscripts/startService1.sh &

e

/myscripts/startService2.sh &

Isso funciona como planejado, ambos os serviços são iniciados e executados conforme o esperado. Mas quando eu $ reboot o sistema não será encerrado dentro de segundos como antes (eventualmente, parece completar a reinicialização depois de horas [deixei isso acontecer durante a noite]).

Quando a reinicialização é inicializada, a sessão ssh (eu sou descartada) e todos os serviços são perdidos em segundos - no entanto, ainda posso executar ping na máquina. Reconectar com ssh não funciona (conexão recusada).

Limpar (ou até mesmo matar) os serviços antes de $ reboot não ter efeito. Todo o problema também é reproduzível com apenas um serviço, desde que eu acrescentei o & à sua chamada. Aparentemente, um processo simples de auto finalização como ps -Auw > /myLogs/postInit.log & também causará o problema.

Estou perplexo e posso precisar de uma dica.

Atualização: Eu não sei como dizer isso, mas ... é fixo. E eu não tenho ideia de como. Tudo que fiz foi deixar passar algum tempo (escrevendo esta questão) e depois tentei com $ shutdown -r now , o que funcionou. Então tentei $ reboot que agora funcionou também. Desde então, tudo corre como pretendido, mas não sei o que fiz para o corrigir! Não havia nada depois de escrever isso, que eu não fiz antes - exceto por executar shutdown -r naquela vez em que tudo magicamente funcionou. Eu tentei reproduzir com força o problema, mas não consegui fazê-lo, antes que pudesse testar facilmente, adicionando ou removendo esse pequeno & . Eu ainda tenho que executar explicitamente os scripts como processos em segundo plano, senão o script PostInit é bloqueado.

    
por zsawyer 30.05.2013 / 15:10

0 respostas