我需要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
关于我该如何做到这一点,有什么提示吗?
答案1
有两种方法:
第一种是仅指定一个--retry
数值。然后它将使用/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 option
。它看起来会像这样:
/sbin/start-stop-daemon --stop --retry TERM/5/KILL/10 --quiet --oknodo --pidfile /var/run/redis/redis.pid --exec /usr/bin/redis-server