我需要为redis实例运行一个start-stop-daemon,我希望它发送一个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
有关我如何能够做到这一点的任何提示?
解决方法
有两种方法:
第一种是指定一个数字 – 重试值.然后它将使用/ signal / timeout / KILL / timeout计划.即发送一个终止信号(用–signal选项指定),然后等待指定的秒数,然后发送一个进程无法忽略的KILL信号,因此它将被强制退出.
该命令将如下所示:
/sbin/start-stop-daemon --stop --signal TERM --retry 5 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server
第二种是为–retry选项指定一个完整的计划.它看起来像:
/sbin/start-stop-daemon --stop --retry TERM/5/KILL/10 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server