(initscripts) Execute um comando, se o comando não for concluído em 10 segundos, execute outro

1

Em (Debian) Linux eu quero:

  • Executar um comando.
  • Se o comando não for concluído em 10 segundos, mate-o e tente outro comando.

O caso de uso é:

Eu tenho um serviço de daemon que gostaria de desligar normalmente. Pode ser parado enviando um comando TCP. Se o comando TCP não retornar, mate o processo usando o Posix HUP.

start-stop-daemon não parece fazer isso, alguém tem alguma dica?

    
por bryan_basho 16.05.2014 / 16:02

1 resposta

0

Eu também não dei uma medalha para as pessoas debian implementadas start-stop-daemon .

Eu acho que você quer fazer uma solução alternativa sobre algum daemon. Existe uma ferramenta chamada timeout no pacote GNU CoreUtils, que você poderia ajudar a fazer isso:

timeout --kill-after=15 --signal=9 this_is_my_command || this_will_run_on_fail

Ele irá rodar this_is_my_command , e se expirar, ele irá matar isto com sinal 9 (hard kill), e rodará o comando this_will_run_on_fail .

Eu recebo essas informações parcialmente de esta pergunta.

    
por 16.05.2014 / 16:26