Como eu posso gerar um comando para o daemon start-stop que matará o processo se ele não funcionar durante um período de tempo limite?

5

Eu preciso executar um start-stop-daemon para uma instância de redis e quero que ele envie um SIGTERM e, se a instância de redis não for encerrada, eu gostaria que ela fosse forçada a sair.

A configuração start-stop-daemon diz que a opção --retry pode ser usada para isso, mas não consegui descobrir uma maneira de fazer isso, aqui está meu comando atual:

/sbin/start-stop-daemon --stop --retry forever/TERM --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server

Alguma dica de como eu seria capaz de fazer isso?

    
por Maurício Linhares 14.11.2012 / 18:06

1 resposta

9

Existem duas maneiras:

O primeiro é apenas para especificar um valor --retry numérico. Em seguida, ele usará /signal/timeout/KILL/timeout schedule. Ou seja envie um sinal de terminação (especificado com a opção --signal ), aguarde o número especificado de segundos e, em seguida, envie um sinal KILL que não pode ser ignorado por um processo e, portanto, ele será forçado a sair. O comando será parecido com:

/sbin/start-stop-daemon --stop --signal TERM --retry 5 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server

O segundo é especificar um cronograma completo para o --retry option . Será parecido com:

/sbin/start-stop-daemon --stop --retry TERM/5/KILL/10 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server
    
por 14.11.2012 / 18:42