O comando "shutdown" do linux permite que um parâmetro determine a pausa entre o envio de SIGTERM e SIGKILL?

4

A página man parece indicar não. Existe o /etc/rc.d/init.d/halt no Fedora. Tem uma pausa codificada, mas tem que haver uma maneira melhor do que mudar esse script. Qualquer ajuda seria apreciada.

    
por s2cuts 01.01.2011 / 08:51

2 respostas

4

A página de manual do meu sistema tem:

-t sec Tell  init(8)  to  wait sec seconds between sending
processes the warning and  the kill signal, before changing 
to another runlevel.

(Esta é provavelmente uma questão mais apropriada para o serverfault)

    
por 01.01.2011 / 08:55
0

Para ter um atraso específico entre SIGTERM e SIGKILL, você poderia especificar três comandos em um script como root

kill -SIGTERM -1
sleep 20
kill -SIGKILL -1

para

  • envia SIGTERM para todos os processos (mas 1),
  • aguarde 20 segundos e, em seguida,
  • envia o sinal -9 para eliminar imediatamente os processos restantes,

mas mataria seus próprios processos, seu interpretador shell ...
Desenvolver um script (por exemplo, em Perl) para listar todos os processos, depois matar apenas os processos que não prejudicam o seu próprio script e iniciá-lo dentro de nohup para anexá-lo ao processo pai-de-todos 1 . faça o trabalho.

Outra solução é baixar a fonte de shutdown (ou halt ) e ver como funciona - adicionar um atraso fixo ou opcional entre o envio dos dois sinais não deve ser muito difícil.

    
por 01.01.2011 / 09:14