Мне нужно запустить start-stop-daemon
для экземпляра Redis, и я хочу, чтобы он отправил SIGTERM
и если экземпляр Redis не закрывается, я бы хотел, чтобы он принудительно завершил работу.
В start-stop-daemon
конфигурация говорит, что --retry
для этого можно использовать опцию, но я не мог придумать, как это сделать, вот моя текущая команда:
/sbin/start-stop-daemon --stop --retry forever/TERM --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server
Какие-нибудь намеки на то, как я смогу это сделать?
Есть два способа:
Первый - просто указать числовой --retry
стоимость. Тогда он будет использовать /signal/timeout/KILL/timeout
график. Т.е. отправить сигнал завершения (указанный с --signal
option), затем подождите указанное количество секунд и затем отправьте сигнал KILL, который не может быть проигнорирован процессом, и поэтому он будет принудительно завершен. Команда будет выглядеть так:
/sbin/start-stop-daemon --stop --signal TERM --retry 5 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server
Второй - указать полный график к --retry option
. Это будет выглядеть так:
/sbin/start-stop-daemon --stop --retry TERM/5/KILL/10 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server