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.